1/* 2 * Copyright (c) 2024-2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16sequenceable continuous_task_callback_info..OHOS.BackgroundTaskMgr.ContinuousTaskCallbackInfo; 17sequenceable continuous_task_info..OHOS.BackgroundTaskMgr.ContinuousTaskInfo; 18sequenceable continuous_task_param..OHOS.BackgroundTaskMgr.ContinuousTaskParam; 19sequenceable continuous_task_param..OHOS.BackgroundTaskMgr.ContinuousTaskParamForInner; 20sequenceable delay_suspend_info..OHOS.BackgroundTaskMgr.DelaySuspendInfo; 21sequenceable efficiency_resource_info..OHOS.BackgroundTaskMgr.EfficiencyResourceInfo; 22sequenceable resource_callback_info..OHOS.BackgroundTaskMgr.ResourceCallbackInfo; 23sequenceable OHOS.IRemoteObject; 24sequenceable transient_task_app_info..OHOS.BackgroundTaskMgr.TransientTaskAppInfo; 25 26interface OHOS.BackgroundTaskMgr.IBackgroundTaskSubscriber; 27interface OHOS.BackgroundTaskMgr.IExpiredCallback; 28interface OHOS.BackgroundTaskMgr.IBackgroundTaskMgr { 29 void RequestSuspendDelay([in] String reason, [in] IExpiredCallback expiredCallback, [out] DelaySuspendInfo delayInfo); 30 void CancelSuspendDelay([in] int requestId); 31 void GetRemainingDelayTime([in] int requestId, [out] int delayTime); 32 void GetAllTransientTasks([out] int remainingQuota, [out] sharedptr<DelaySuspendInfo>[] list); 33 void StartBackgroundRunning([in] ContinuousTaskParam taskParam, [out] int notificationId, [out] int continuousTaskId); 34 void UpdateBackgroundRunning([in] ContinuousTaskParam taskParam, [out] int notificationId, [out] int continuousTaskId); 35 void StopBackgroundRunning([in] String abilityName, [in] IRemoteObject abilityToken, [in] int abilityId); 36 void GetAllContinuousTasks([out] ContinuousTaskInfo[] list); 37 void GetAllContinuousTasks([out] sharedptr<ContinuousTaskInfo>[] list, [in] boolean includeSuspended); 38 void SubscribeBackgroundTask([in] IBackgroundTaskSubscriber subscriber, [in] unsigned int flag); 39 void UnsubscribeBackgroundTask([in] IBackgroundTaskSubscriber subscriber); 40 void GetTransientTaskApps([out] TransientTaskAppInfo[] list); 41 void GetContinuousTaskApps([out] ContinuousTaskCallbackInfo[] list); 42 void ApplyEfficiencyResources([in] EfficiencyResourceInfo resourceInfo); 43 void ResetAllEfficiencyResources(); 44 void GetAllEfficiencyResources([out] EfficiencyResourceInfo[] list); 45 void GetEfficiencyResourcesInfos([out] ResourceCallbackInfo[] appList, [out] ResourceCallbackInfo[] procList); 46 void StopContinuousTask([in] int uid, [in] int pid, [in] unsigned int taskType, [in] String key); 47 void SuspendContinuousTask([in] int uid, [in] int pid, [in] int reason, [in] String key); 48 void ActiveContinuousTask([in] int uid, [in] int pid, [in] String key); 49 void RequestBackgroundRunningForInner([in] ContinuousTaskParamForInner taskParam); 50 void RequestGetContinuousTasksByUidForInner([in] int uid, [out] ContinuousTaskInfo[] list); 51 void PauseTransientTaskTimeForInner([in] int uid); 52 void StartTransientTaskTimeForInner([in] int uid); 53 void AVSessionNotifyUpdateNotification([in] int uid, [in] int pid, [in] boolean isPublish); 54 void SetBgTaskConfig([in] String configData, [in] int sourceType); 55} 56