161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit BackgroundTasksKit 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ciimport { AsyncCallback } from './@ohos.base'; 2261847f8eSopenharmony_ci 2361847f8eSopenharmony_ci/** 2461847f8eSopenharmony_ci * Work scheduler interface. 2561847f8eSopenharmony_ci * 2661847f8eSopenharmony_ci * @namespace workScheduler 2761847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 2861847f8eSopenharmony_ci * @StageModelOnly 2961847f8eSopenharmony_ci * @since 9 3061847f8eSopenharmony_ci */ 3161847f8eSopenharmony_cideclare namespace workScheduler { 3261847f8eSopenharmony_ci /** 3361847f8eSopenharmony_ci * The info of work. 3461847f8eSopenharmony_ci * 3561847f8eSopenharmony_ci * @interface WorkInfo 3661847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 3761847f8eSopenharmony_ci * @StageModelOnly 3861847f8eSopenharmony_ci * @since 9 3961847f8eSopenharmony_ci */ 4061847f8eSopenharmony_ci export interface WorkInfo { 4161847f8eSopenharmony_ci /** 4261847f8eSopenharmony_ci * The id of the current work. 4361847f8eSopenharmony_ci * 4461847f8eSopenharmony_ci * @type { number } 4561847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 4661847f8eSopenharmony_ci * @StageModelOnly 4761847f8eSopenharmony_ci * @since 9 4861847f8eSopenharmony_ci */ 4961847f8eSopenharmony_ci workId: number; 5061847f8eSopenharmony_ci /** 5161847f8eSopenharmony_ci * The bundle name of the current work. 5261847f8eSopenharmony_ci * 5361847f8eSopenharmony_ci * @type { string } 5461847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 5561847f8eSopenharmony_ci * @StageModelOnly 5661847f8eSopenharmony_ci * @since 9 5761847f8eSopenharmony_ci */ 5861847f8eSopenharmony_ci bundleName: string; 5961847f8eSopenharmony_ci /** 6061847f8eSopenharmony_ci * The ability name of the current work. 6161847f8eSopenharmony_ci * 6261847f8eSopenharmony_ci * @type { string } 6361847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 6461847f8eSopenharmony_ci * @StageModelOnly 6561847f8eSopenharmony_ci * @since 9 6661847f8eSopenharmony_ci */ 6761847f8eSopenharmony_ci abilityName: string; 6861847f8eSopenharmony_ci /** 6961847f8eSopenharmony_ci * Whether the current work will be saved. 7061847f8eSopenharmony_ci * 7161847f8eSopenharmony_ci * @type { ?boolean } 7261847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 7361847f8eSopenharmony_ci * @StageModelOnly 7461847f8eSopenharmony_ci * @since 9 7561847f8eSopenharmony_ci */ 7661847f8eSopenharmony_ci isPersisted?: boolean; 7761847f8eSopenharmony_ci /** 7861847f8eSopenharmony_ci * The network type of the current work. 7961847f8eSopenharmony_ci * 8061847f8eSopenharmony_ci * @type { ?NetworkType } 8161847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 8261847f8eSopenharmony_ci * @StageModelOnly 8361847f8eSopenharmony_ci * @since 9 8461847f8eSopenharmony_ci */ 8561847f8eSopenharmony_ci networkType?: NetworkType; 8661847f8eSopenharmony_ci /** 8761847f8eSopenharmony_ci * Whether a charging state has been set for triggering the work. 8861847f8eSopenharmony_ci * 8961847f8eSopenharmony_ci * @type { ?boolean } 9061847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 9161847f8eSopenharmony_ci * @StageModelOnly 9261847f8eSopenharmony_ci * @since 9 9361847f8eSopenharmony_ci */ 9461847f8eSopenharmony_ci isCharging?: boolean; 9561847f8eSopenharmony_ci /** 9661847f8eSopenharmony_ci * The charger type based on which the work is triggered. 9761847f8eSopenharmony_ci * 9861847f8eSopenharmony_ci * @type { ?ChargingType } 9961847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 10061847f8eSopenharmony_ci * @StageModelOnly 10161847f8eSopenharmony_ci * @since 9 10261847f8eSopenharmony_ci */ 10361847f8eSopenharmony_ci chargerType?: ChargingType; 10461847f8eSopenharmony_ci /** 10561847f8eSopenharmony_ci * The battery level for triggering a work. 10661847f8eSopenharmony_ci * 10761847f8eSopenharmony_ci * @type { ?number } 10861847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 10961847f8eSopenharmony_ci * @StageModelOnly 11061847f8eSopenharmony_ci * @since 9 11161847f8eSopenharmony_ci */ 11261847f8eSopenharmony_ci batteryLevel?: number; 11361847f8eSopenharmony_ci /** 11461847f8eSopenharmony_ci * The battery status for triggering a work. 11561847f8eSopenharmony_ci * 11661847f8eSopenharmony_ci * @type { ?BatteryStatus } 11761847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 11861847f8eSopenharmony_ci * @StageModelOnly 11961847f8eSopenharmony_ci * @since 9 12061847f8eSopenharmony_ci */ 12161847f8eSopenharmony_ci batteryStatus?: BatteryStatus; 12261847f8eSopenharmony_ci /** 12361847f8eSopenharmony_ci * Whether a storage state has been set for triggering the work. 12461847f8eSopenharmony_ci * 12561847f8eSopenharmony_ci * @type { ?StorageRequest } 12661847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 12761847f8eSopenharmony_ci * @StageModelOnly 12861847f8eSopenharmony_ci * @since 9 12961847f8eSopenharmony_ci */ 13061847f8eSopenharmony_ci storageRequest?: StorageRequest; 13161847f8eSopenharmony_ci /** 13261847f8eSopenharmony_ci * The interval at which the work is repeated. 13361847f8eSopenharmony_ci * 13461847f8eSopenharmony_ci * @type { ?number } 13561847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 13661847f8eSopenharmony_ci * @StageModelOnly 13761847f8eSopenharmony_ci * @since 9 13861847f8eSopenharmony_ci */ 13961847f8eSopenharmony_ci repeatCycleTime?: number; 14061847f8eSopenharmony_ci /** 14161847f8eSopenharmony_ci * Whether the work has been set to repeat at the specified interval. 14261847f8eSopenharmony_ci * 14361847f8eSopenharmony_ci * @type { ?boolean } 14461847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 14561847f8eSopenharmony_ci * @StageModelOnly 14661847f8eSopenharmony_ci * @since 9 14761847f8eSopenharmony_ci */ 14861847f8eSopenharmony_ci isRepeat?: boolean; 14961847f8eSopenharmony_ci /** 15061847f8eSopenharmony_ci * The repeat of the current work. 15161847f8eSopenharmony_ci * 15261847f8eSopenharmony_ci * @type { ?number } 15361847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 15461847f8eSopenharmony_ci * @StageModelOnly 15561847f8eSopenharmony_ci * @since 9 15661847f8eSopenharmony_ci */ 15761847f8eSopenharmony_ci repeatCount?: number; 15861847f8eSopenharmony_ci /** 15961847f8eSopenharmony_ci * Whether the device deep idle state has been set for triggering the work. 16061847f8eSopenharmony_ci * 16161847f8eSopenharmony_ci * @type { ?boolean } 16261847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 16361847f8eSopenharmony_ci * @StageModelOnly 16461847f8eSopenharmony_ci * @since 9 16561847f8eSopenharmony_ci */ 16661847f8eSopenharmony_ci isDeepIdle?: boolean; 16761847f8eSopenharmony_ci /** 16861847f8eSopenharmony_ci * The idle wait time based on which the work is triggered. 16961847f8eSopenharmony_ci * 17061847f8eSopenharmony_ci * @type { ?number } 17161847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 17261847f8eSopenharmony_ci * @StageModelOnly 17361847f8eSopenharmony_ci * @since 9 17461847f8eSopenharmony_ci */ 17561847f8eSopenharmony_ci idleWaitTime?: number; 17661847f8eSopenharmony_ci /** 17761847f8eSopenharmony_ci * The parameters of the work. The value is only supported basic type(Number, String, Boolean). 17861847f8eSopenharmony_ci * 17961847f8eSopenharmony_ci * @type { ?Record<string, number | string | boolean> } 18061847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 18161847f8eSopenharmony_ci * @StageModelOnly 18261847f8eSopenharmony_ci * @since 9 18361847f8eSopenharmony_ci */ 18461847f8eSopenharmony_ci parameters?: Record<string, number | string | boolean>; 18561847f8eSopenharmony_ci } 18661847f8eSopenharmony_ci 18761847f8eSopenharmony_ci /** 18861847f8eSopenharmony_ci * Add a work to the queue. A work can be executed only when it meets the preset triggering condition 18961847f8eSopenharmony_ci * <p> and complies with the rules of work scheduler manager. </p> 19061847f8eSopenharmony_ci * 19161847f8eSopenharmony_ci * @param { WorkInfo } work - The info of work. 19261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 19361847f8eSopenharmony_ci * <br> 2. Incorrect parameters types; 3. Parameter verification failed. 19461847f8eSopenharmony_ci * @throws { BusinessError } 9700001 - Memory operation failed. 19561847f8eSopenharmony_ci * @throws { BusinessError } 9700002 - Parcel operation failed. 19661847f8eSopenharmony_ci * @throws { BusinessError } 9700003 - System service operation failed. 19761847f8eSopenharmony_ci * @throws { BusinessError } 9700004 - Check on workInfo failed. 19861847f8eSopenharmony_ci * @throws { BusinessError } 9700005 - Calling startWork failed. 19961847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 20061847f8eSopenharmony_ci * @StageModelOnly 20161847f8eSopenharmony_ci * @since 9 20261847f8eSopenharmony_ci */ 20361847f8eSopenharmony_ci function startWork(work: WorkInfo): void; 20461847f8eSopenharmony_ci 20561847f8eSopenharmony_ci /** 20661847f8eSopenharmony_ci * Stop a work. 20761847f8eSopenharmony_ci * 20861847f8eSopenharmony_ci * @param { WorkInfo } work - The info of work. 20961847f8eSopenharmony_ci * @param { boolean } needCancel - True if need to be canceled after being stopped, otherwise false. 21061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 21161847f8eSopenharmony_ci * <br> 2. Incorrect parameters types; 3. Parameter verification failed. 21261847f8eSopenharmony_ci * @throws { BusinessError } 9700001 - Memory operation failed. 21361847f8eSopenharmony_ci * @throws { BusinessError } 9700002 - Parcel operation failed. 21461847f8eSopenharmony_ci * @throws { BusinessError } 9700003 - System service operation failed. 21561847f8eSopenharmony_ci * @throws { BusinessError } 9700004 - Check on workInfo failed. 21661847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 21761847f8eSopenharmony_ci * @StageModelOnly 21861847f8eSopenharmony_ci * @since 9 21961847f8eSopenharmony_ci */ 22061847f8eSopenharmony_ci function stopWork(work: WorkInfo, needCancel?: boolean): void; 22161847f8eSopenharmony_ci 22261847f8eSopenharmony_ci /** 22361847f8eSopenharmony_ci * Obtains the work info of the wordId. 22461847f8eSopenharmony_ci * 22561847f8eSopenharmony_ci * @param { number } workId - The id of work. 22661847f8eSopenharmony_ci * @param { AsyncCallback<WorkInfo> } callback - The callback of the function. 22761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: Parameter verification failed. 22861847f8eSopenharmony_ci * @throws { BusinessError } 9700001 - Memory operation failed. 22961847f8eSopenharmony_ci * @throws { BusinessError } 9700002 - Parcel operation failed. 23061847f8eSopenharmony_ci * @throws { BusinessError } 9700003 - System service operation failed. 23161847f8eSopenharmony_ci * @throws { BusinessError } 9700004 - Check on workInfo failed. 23261847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 23361847f8eSopenharmony_ci * @StageModelOnly 23461847f8eSopenharmony_ci * @since 9 23561847f8eSopenharmony_ci */ 23661847f8eSopenharmony_ci function getWorkStatus(workId: number, callback: AsyncCallback<WorkInfo>): void; 23761847f8eSopenharmony_ci 23861847f8eSopenharmony_ci /** 23961847f8eSopenharmony_ci * Obtains the work info of the wordId. 24061847f8eSopenharmony_ci * 24161847f8eSopenharmony_ci * @param { number } workId - The id of work. 24261847f8eSopenharmony_ci * @returns { Promise<WorkInfo> } The promise returned by the function. 24361847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: Parameter verification failed. 24461847f8eSopenharmony_ci * @throws { BusinessError } 9700001 - Memory operation failed. 24561847f8eSopenharmony_ci * @throws { BusinessError } 9700002 - Parcel operation failed. 24661847f8eSopenharmony_ci * @throws { BusinessError } 9700003 - System service operation failed. 24761847f8eSopenharmony_ci * @throws { BusinessError } 9700004 - Check on workInfo failed. 24861847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 24961847f8eSopenharmony_ci * @StageModelOnly 25061847f8eSopenharmony_ci * @since 9 25161847f8eSopenharmony_ci */ 25261847f8eSopenharmony_ci function getWorkStatus(workId: number): Promise<WorkInfo>; 25361847f8eSopenharmony_ci 25461847f8eSopenharmony_ci /** 25561847f8eSopenharmony_ci * Get all works of the calling application. 25661847f8eSopenharmony_ci * 25761847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - The callback of the function. 25861847f8eSopenharmony_ci * @returns { Array<WorkInfo> } the work info list. 25961847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 26061847f8eSopenharmony_ci * <br> 2. Incorrect parameters types. 26161847f8eSopenharmony_ci * @throws { BusinessError } 9700001 - Memory operation failed. 26261847f8eSopenharmony_ci * @throws { BusinessError } 9700002 - Parcel operation failed. 26361847f8eSopenharmony_ci * @throws { BusinessError } 9700003 - System service operation failed. 26461847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 26561847f8eSopenharmony_ci * @StageModelOnly 26661847f8eSopenharmony_ci * @since 9 26761847f8eSopenharmony_ci * @deprecated since 10 26861847f8eSopenharmony_ci */ 26961847f8eSopenharmony_ci function obtainAllWorks(callback: AsyncCallback<void>): Array<WorkInfo>; 27061847f8eSopenharmony_ci 27161847f8eSopenharmony_ci /** 27261847f8eSopenharmony_ci * Get all works of the calling application. 27361847f8eSopenharmony_ci * 27461847f8eSopenharmony_ci * @param { AsyncCallback<Array<WorkInfo>> } callback - The callback of the function. 27561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 27661847f8eSopenharmony_ci * <br> 2. Incorrect parameters types. 27761847f8eSopenharmony_ci * @throws { BusinessError } 9700001 - Memory operation failed. 27861847f8eSopenharmony_ci * @throws { BusinessError } 9700002 - Parcel operation failed. 27961847f8eSopenharmony_ci * @throws { BusinessError } 9700003 - System service operation failed. 28061847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 28161847f8eSopenharmony_ci * @StageModelOnly 28261847f8eSopenharmony_ci * @since 10 28361847f8eSopenharmony_ci */ 28461847f8eSopenharmony_ci function obtainAllWorks(callback: AsyncCallback<Array<WorkInfo>>): void; 28561847f8eSopenharmony_ci 28661847f8eSopenharmony_ci /** 28761847f8eSopenharmony_ci * Get all works of the calling application. 28861847f8eSopenharmony_ci * 28961847f8eSopenharmony_ci * @returns { Promise<Array<WorkInfo>> } The work info list. 29061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 29161847f8eSopenharmony_ci * <br> 2. Incorrect parameters types. 29261847f8eSopenharmony_ci * @throws { BusinessError } 9700001 - Memory operation failed. 29361847f8eSopenharmony_ci * @throws { BusinessError } 9700002 - Parcel operation failed. 29461847f8eSopenharmony_ci * @throws { BusinessError } 9700003 - System service operation failed. 29561847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 29661847f8eSopenharmony_ci * @StageModelOnly 29761847f8eSopenharmony_ci * @since 9 29861847f8eSopenharmony_ci */ 29961847f8eSopenharmony_ci function obtainAllWorks(): Promise<Array<WorkInfo>>; 30061847f8eSopenharmony_ci 30161847f8eSopenharmony_ci /** 30261847f8eSopenharmony_ci * Stop all and clear all works of the calling application. 30361847f8eSopenharmony_ci * 30461847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 30561847f8eSopenharmony_ci * <br> 2. Incorrect parameters types. 30661847f8eSopenharmony_ci * @throws { BusinessError } 9700001 - Memory operation failed. 30761847f8eSopenharmony_ci * @throws { BusinessError } 9700002 - Parcel operation failed. 30861847f8eSopenharmony_ci * @throws { BusinessError } 9700003 - System service operation failed. 30961847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 31061847f8eSopenharmony_ci * @StageModelOnly 31161847f8eSopenharmony_ci * @since 9 31261847f8eSopenharmony_ci */ 31361847f8eSopenharmony_ci function stopAndClearWorks(): void; 31461847f8eSopenharmony_ci 31561847f8eSopenharmony_ci /** 31661847f8eSopenharmony_ci * Check whether last work running is timeout. The interface is for repeating work. 31761847f8eSopenharmony_ci * 31861847f8eSopenharmony_ci * @param { number } workId - The id of work. 31961847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - The callback of the function. 32061847f8eSopenharmony_ci * @returns { boolean } true if last work running is timeout, otherwise false. 32161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: Parameter verification failed. 32261847f8eSopenharmony_ci * @throws { BusinessError } 9700001 - Memory operation failed. 32361847f8eSopenharmony_ci * @throws { BusinessError } 9700002 - Parcel operation failed. 32461847f8eSopenharmony_ci * @throws { BusinessError } 9700003 - System service operation failed. 32561847f8eSopenharmony_ci * @throws { BusinessError } 9700004 - Check on workInfo failed. 32661847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 32761847f8eSopenharmony_ci * @StageModelOnly 32861847f8eSopenharmony_ci * @since 9 32961847f8eSopenharmony_ci * @deprecated since 10 33061847f8eSopenharmony_ci */ 33161847f8eSopenharmony_ci function isLastWorkTimeOut(workId: number, callback: AsyncCallback<void>): boolean; 33261847f8eSopenharmony_ci 33361847f8eSopenharmony_ci /** 33461847f8eSopenharmony_ci * Check whether last work running is timeout. The interface is for repeating work. 33561847f8eSopenharmony_ci * 33661847f8eSopenharmony_ci * @param { number } workId - The id of work. 33761847f8eSopenharmony_ci * @param { AsyncCallback<boolean> } callback - The callback of the function. 33861847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: Parameter verification failed. 33961847f8eSopenharmony_ci * @throws { BusinessError } 9700001 - Memory operation failed. 34061847f8eSopenharmony_ci * @throws { BusinessError } 9700002 - Parcel operation failed. 34161847f8eSopenharmony_ci * @throws { BusinessError } 9700003 - System service operation failed. 34261847f8eSopenharmony_ci * @throws { BusinessError } 9700004 - Check on workInfo failed. 34361847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 34461847f8eSopenharmony_ci * @StageModelOnly 34561847f8eSopenharmony_ci * @since 10 34661847f8eSopenharmony_ci */ 34761847f8eSopenharmony_ci function isLastWorkTimeOut(workId: number, callback: AsyncCallback<boolean>): void; 34861847f8eSopenharmony_ci 34961847f8eSopenharmony_ci /** 35061847f8eSopenharmony_ci * Check whether last work running is timeout. The interface is for repeating work. 35161847f8eSopenharmony_ci * 35261847f8eSopenharmony_ci * @param { number } workId - The id of work. 35361847f8eSopenharmony_ci * @returns { Promise<boolean> } True if last work running is timeout, otherwise false. 35461847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: Parameter verification failed. 35561847f8eSopenharmony_ci * @throws { BusinessError } 9700001 - Memory operation failed. 35661847f8eSopenharmony_ci * @throws { BusinessError } 9700002 - Parcel operation failed. 35761847f8eSopenharmony_ci * @throws { BusinessError } 9700003 - System service operation failed. 35861847f8eSopenharmony_ci * @throws { BusinessError } 9700004 - Check on workInfo failed. 35961847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 36061847f8eSopenharmony_ci * @StageModelOnly 36161847f8eSopenharmony_ci * @since 9 36261847f8eSopenharmony_ci */ 36361847f8eSopenharmony_ci function isLastWorkTimeOut(workId: number): Promise<boolean>; 36461847f8eSopenharmony_ci 36561847f8eSopenharmony_ci /** 36661847f8eSopenharmony_ci * Describes network type. 36761847f8eSopenharmony_ci * 36861847f8eSopenharmony_ci * @enum { number } 36961847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 37061847f8eSopenharmony_ci * @StageModelOnly 37161847f8eSopenharmony_ci * @since 9 37261847f8eSopenharmony_ci * @name NetworkType 37361847f8eSopenharmony_ci */ 37461847f8eSopenharmony_ci export enum NetworkType { 37561847f8eSopenharmony_ci /** 37661847f8eSopenharmony_ci * Describes any network connection. 37761847f8eSopenharmony_ci * 37861847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 37961847f8eSopenharmony_ci * @StageModelOnly 38061847f8eSopenharmony_ci * @since 9 38161847f8eSopenharmony_ci */ 38261847f8eSopenharmony_ci NETWORK_TYPE_ANY = 0, 38361847f8eSopenharmony_ci /** 38461847f8eSopenharmony_ci * Describes a mobile network connection. 38561847f8eSopenharmony_ci * 38661847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 38761847f8eSopenharmony_ci * @StageModelOnly 38861847f8eSopenharmony_ci * @since 9 38961847f8eSopenharmony_ci */ 39061847f8eSopenharmony_ci NETWORK_TYPE_MOBILE, 39161847f8eSopenharmony_ci /** 39261847f8eSopenharmony_ci * Describes a wifi network connection. 39361847f8eSopenharmony_ci * 39461847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 39561847f8eSopenharmony_ci * @StageModelOnly 39661847f8eSopenharmony_ci * @since 9 39761847f8eSopenharmony_ci */ 39861847f8eSopenharmony_ci NETWORK_TYPE_WIFI, 39961847f8eSopenharmony_ci /** 40061847f8eSopenharmony_ci * Describes a bluetooth network connection. 40161847f8eSopenharmony_ci * 40261847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 40361847f8eSopenharmony_ci * @StageModelOnly 40461847f8eSopenharmony_ci * @since 9 40561847f8eSopenharmony_ci */ 40661847f8eSopenharmony_ci NETWORK_TYPE_BLUETOOTH, 40761847f8eSopenharmony_ci /** 40861847f8eSopenharmony_ci * Describes a wifi p2p network connection. 40961847f8eSopenharmony_ci * 41061847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 41161847f8eSopenharmony_ci * @StageModelOnly 41261847f8eSopenharmony_ci * @since 9 41361847f8eSopenharmony_ci */ 41461847f8eSopenharmony_ci NETWORK_TYPE_WIFI_P2P, 41561847f8eSopenharmony_ci /** 41661847f8eSopenharmony_ci * Describes a wifi wire network connection. 41761847f8eSopenharmony_ci * 41861847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 41961847f8eSopenharmony_ci * @StageModelOnly 42061847f8eSopenharmony_ci * @since 9 42161847f8eSopenharmony_ci */ 42261847f8eSopenharmony_ci NETWORK_TYPE_ETHERNET 42361847f8eSopenharmony_ci } 42461847f8eSopenharmony_ci 42561847f8eSopenharmony_ci /** 42661847f8eSopenharmony_ci * Describes charging type. 42761847f8eSopenharmony_ci * 42861847f8eSopenharmony_ci * @enum { number } 42961847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 43061847f8eSopenharmony_ci * @StageModelOnly 43161847f8eSopenharmony_ci * @since 9 43261847f8eSopenharmony_ci * @name ChargingType 43361847f8eSopenharmony_ci */ 43461847f8eSopenharmony_ci export enum ChargingType { 43561847f8eSopenharmony_ci /** 43661847f8eSopenharmony_ci * Describes any charger is connected. 43761847f8eSopenharmony_ci * 43861847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 43961847f8eSopenharmony_ci * @StageModelOnly 44061847f8eSopenharmony_ci * @since 9 44161847f8eSopenharmony_ci */ 44261847f8eSopenharmony_ci CHARGING_PLUGGED_ANY = 0, 44361847f8eSopenharmony_ci /** 44461847f8eSopenharmony_ci * Describes ac charger is connected. 44561847f8eSopenharmony_ci * 44661847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 44761847f8eSopenharmony_ci * @StageModelOnly 44861847f8eSopenharmony_ci * @since 9 44961847f8eSopenharmony_ci */ 45061847f8eSopenharmony_ci CHARGING_PLUGGED_AC, 45161847f8eSopenharmony_ci /** 45261847f8eSopenharmony_ci * Describes usb charger is connected. 45361847f8eSopenharmony_ci * 45461847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 45561847f8eSopenharmony_ci * @StageModelOnly 45661847f8eSopenharmony_ci * @since 9 45761847f8eSopenharmony_ci */ 45861847f8eSopenharmony_ci CHARGING_PLUGGED_USB, 45961847f8eSopenharmony_ci /** 46061847f8eSopenharmony_ci * Describes wireless charger is connected. 46161847f8eSopenharmony_ci * 46261847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 46361847f8eSopenharmony_ci * @StageModelOnly 46461847f8eSopenharmony_ci * @since 9 46561847f8eSopenharmony_ci */ 46661847f8eSopenharmony_ci CHARGING_PLUGGED_WIRELESS 46761847f8eSopenharmony_ci } 46861847f8eSopenharmony_ci 46961847f8eSopenharmony_ci /** 47061847f8eSopenharmony_ci * Describes the battery status. 47161847f8eSopenharmony_ci * 47261847f8eSopenharmony_ci * @enum { number } 47361847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 47461847f8eSopenharmony_ci * @StageModelOnly 47561847f8eSopenharmony_ci * @since 9 47661847f8eSopenharmony_ci * @name BatteryStatus 47761847f8eSopenharmony_ci */ 47861847f8eSopenharmony_ci export enum BatteryStatus { 47961847f8eSopenharmony_ci /** 48061847f8eSopenharmony_ci * Describes battery status is to low. 48161847f8eSopenharmony_ci * 48261847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 48361847f8eSopenharmony_ci * @StageModelOnly 48461847f8eSopenharmony_ci * @since 9 48561847f8eSopenharmony_ci */ 48661847f8eSopenharmony_ci BATTERY_STATUS_LOW = 0, 48761847f8eSopenharmony_ci /** 48861847f8eSopenharmony_ci * Describes battery status is to ok. 48961847f8eSopenharmony_ci * 49061847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 49161847f8eSopenharmony_ci * @StageModelOnly 49261847f8eSopenharmony_ci * @since 9 49361847f8eSopenharmony_ci */ 49461847f8eSopenharmony_ci BATTERY_STATUS_OKAY, 49561847f8eSopenharmony_ci /** 49661847f8eSopenharmony_ci * Describes battery status is to low or ok. 49761847f8eSopenharmony_ci * 49861847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 49961847f8eSopenharmony_ci * @StageModelOnly 50061847f8eSopenharmony_ci * @since 9 50161847f8eSopenharmony_ci */ 50261847f8eSopenharmony_ci BATTERY_STATUS_LOW_OR_OKAY 50361847f8eSopenharmony_ci } 50461847f8eSopenharmony_ci 50561847f8eSopenharmony_ci /** 50661847f8eSopenharmony_ci * Describes the storage request. 50761847f8eSopenharmony_ci * 50861847f8eSopenharmony_ci * @enum { number } 50961847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 51061847f8eSopenharmony_ci * @StageModelOnly 51161847f8eSopenharmony_ci * @since 9 51261847f8eSopenharmony_ci * @name StorageRequest 51361847f8eSopenharmony_ci */ 51461847f8eSopenharmony_ci export enum StorageRequest { 51561847f8eSopenharmony_ci /** 51661847f8eSopenharmony_ci * Describes storage is to low. 51761847f8eSopenharmony_ci * 51861847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 51961847f8eSopenharmony_ci * @StageModelOnly 52061847f8eSopenharmony_ci * @since 9 52161847f8eSopenharmony_ci */ 52261847f8eSopenharmony_ci STORAGE_LEVEL_LOW = 0, 52361847f8eSopenharmony_ci /** 52461847f8eSopenharmony_ci * Describes storage is to ok. 52561847f8eSopenharmony_ci * 52661847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 52761847f8eSopenharmony_ci * @StageModelOnly 52861847f8eSopenharmony_ci * @since 9 52961847f8eSopenharmony_ci */ 53061847f8eSopenharmony_ci STORAGE_LEVEL_OKAY, 53161847f8eSopenharmony_ci /** 53261847f8eSopenharmony_ci * Describes storage is to low or ok. 53361847f8eSopenharmony_ci * 53461847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.WorkScheduler 53561847f8eSopenharmony_ci * @StageModelOnly 53661847f8eSopenharmony_ci * @since 9 53761847f8eSopenharmony_ci */ 53861847f8eSopenharmony_ci STORAGE_LEVEL_LOW_OR_OKAY 53961847f8eSopenharmony_ci } 54061847f8eSopenharmony_ci} 54161847f8eSopenharmony_ciexport default workScheduler;