142365ec6Sopenharmony_ci/* 242365ec6Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 342365ec6Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 442365ec6Sopenharmony_ci * you may not use this file except in compliance with the License. 542365ec6Sopenharmony_ci * You may obtain a copy of the License at 642365ec6Sopenharmony_ci * 742365ec6Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 842365ec6Sopenharmony_ci * 942365ec6Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1042365ec6Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1142365ec6Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1242365ec6Sopenharmony_ci * See the License for the specific language governing permissions and 1342365ec6Sopenharmony_ci * limitations under the License. 1442365ec6Sopenharmony_ci */ 1542365ec6Sopenharmony_ci 1642365ec6Sopenharmony_ciimport type { UiStateMode } from '../redux/actions/Action'; 1742365ec6Sopenharmony_ciimport { Action } from '../redux/actions/Action'; 1842365ec6Sopenharmony_ciimport { CameraService } from '../camera/CameraService'; 1942365ec6Sopenharmony_ciimport type { EventBus } from '../worker/eventbus/EventBus'; 2042365ec6Sopenharmony_ciimport { EventBusManager } from '../worker/eventbus/EventBusManager'; 2142365ec6Sopenharmony_ciimport { WorkerManager } from '../worker/WorkerManager'; 2242365ec6Sopenharmony_ci 2342365ec6Sopenharmony_ciexport abstract class BaseFunction { 2442365ec6Sopenharmony_ci protected mCameraService: CameraService = CameraService.getInstance(); 2542365ec6Sopenharmony_ci protected mWorkerManager: WorkerManager = new WorkerManager(); 2642365ec6Sopenharmony_ci protected mEventBus: EventBus = EventBusManager.getInstance().getEventBus(); 2742365ec6Sopenharmony_ci 2842365ec6Sopenharmony_ci protected enableUi(): void { 2942365ec6Sopenharmony_ci this.mWorkerManager.postMessage(Action.uiState(true)); 3042365ec6Sopenharmony_ci } 3142365ec6Sopenharmony_ci 3242365ec6Sopenharmony_ci protected disableUi(): void { 3342365ec6Sopenharmony_ci this.mWorkerManager.postMessage(Action.uiState(false)); 3442365ec6Sopenharmony_ci } 3542365ec6Sopenharmony_ci 3642365ec6Sopenharmony_ci protected enableUiWithMode(uiStateMode: UiStateMode): void { 3742365ec6Sopenharmony_ci this.mWorkerManager.postMessage(Action.uiStateWithMode(true, uiStateMode)); 3842365ec6Sopenharmony_ci } 3942365ec6Sopenharmony_ci 4042365ec6Sopenharmony_ci protected disableUiWithMode(uiStateMode: UiStateMode): void { 4142365ec6Sopenharmony_ci this.mWorkerManager.postMessage(Action.uiStateWithMode(false, uiStateMode)); 4242365ec6Sopenharmony_ci } 4342365ec6Sopenharmony_ci 4442365ec6Sopenharmony_ci abstract load(): void 4542365ec6Sopenharmony_ci 4642365ec6Sopenharmony_ci abstract unload(): void 4742365ec6Sopenharmony_ci}