11ebd3d54Sopenharmony_ci/* 21ebd3d54Sopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 31ebd3d54Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 41ebd3d54Sopenharmony_ci * you may not use this file except in compliance with the License. 51ebd3d54Sopenharmony_ci * You may obtain a copy of the License at 61ebd3d54Sopenharmony_ci * 71ebd3d54Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 81ebd3d54Sopenharmony_ci * 91ebd3d54Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 101ebd3d54Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 111ebd3d54Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 121ebd3d54Sopenharmony_ci * See the License for the specific language governing permissions and 131ebd3d54Sopenharmony_ci * limitations under the License. 141ebd3d54Sopenharmony_ci */ 151ebd3d54Sopenharmony_ci 161ebd3d54Sopenharmony_ci#ifndef CALLBACK 171ebd3d54Sopenharmony_ci#define CALLBACK 181ebd3d54Sopenharmony_ci 191ebd3d54Sopenharmony_ci#include <mutex> 201ebd3d54Sopenharmony_ci#include <string> 211ebd3d54Sopenharmony_ci 221ebd3d54Sopenharmony_ci#include "delay_suspend_info.h" 231ebd3d54Sopenharmony_ci#include "expired_callback.h" 241ebd3d54Sopenharmony_ci 251ebd3d54Sopenharmony_cinamespace OHOS { 261ebd3d54Sopenharmony_cinamespace BackgroundTaskMgr { 271ebd3d54Sopenharmony_ciclass Callback : public ExpiredCallback { 281ebd3d54Sopenharmony_cipublic: 291ebd3d54Sopenharmony_ci Callback(); 301ebd3d54Sopenharmony_ci 311ebd3d54Sopenharmony_ci ~Callback() override; 321ebd3d54Sopenharmony_ci 331ebd3d54Sopenharmony_ci void OnExpired() override; 341ebd3d54Sopenharmony_ci 351ebd3d54Sopenharmony_ci void SetCallbackInfo(void (*callback)()); 361ebd3d54Sopenharmony_ci 371ebd3d54Sopenharmony_ciprivate: 381ebd3d54Sopenharmony_ci std::function<void()> ffiCallback_; 391ebd3d54Sopenharmony_ci}; 401ebd3d54Sopenharmony_ci} // namespace BackgroundTaskMgr 411ebd3d54Sopenharmony_ci} // namespace OHOS 421ebd3d54Sopenharmony_ci#endif // CALLBACK