15ccb8f90Sopenharmony_ci/* 25ccb8f90Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 35ccb8f90Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 45ccb8f90Sopenharmony_ci * you may not use this file except in compliance with the License. 55ccb8f90Sopenharmony_ci * You may obtain a copy of the License at 65ccb8f90Sopenharmony_ci * 75ccb8f90Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 85ccb8f90Sopenharmony_ci * 95ccb8f90Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 105ccb8f90Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 115ccb8f90Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 125ccb8f90Sopenharmony_ci * See the License for the specific language governing permissions and 135ccb8f90Sopenharmony_ci * limitations under the License. 145ccb8f90Sopenharmony_ci */ 155ccb8f90Sopenharmony_ci 165ccb8f90Sopenharmony_ci#ifndef POWERMGR_POWER_MANAGER_POWER_SETTING_OBSERVER_H 175ccb8f90Sopenharmony_ci#define POWERMGR_POWER_MANAGER_POWER_SETTING_OBSERVER_H 185ccb8f90Sopenharmony_ci 195ccb8f90Sopenharmony_ci#include "data_ability_observer_stub.h" 205ccb8f90Sopenharmony_ci 215ccb8f90Sopenharmony_cinamespace OHOS { 225ccb8f90Sopenharmony_cinamespace PowerMgr { 235ccb8f90Sopenharmony_ciclass SettingObserver : public AAFwk::DataAbilityObserverStub { 245ccb8f90Sopenharmony_cipublic: 255ccb8f90Sopenharmony_ci SettingObserver(); 265ccb8f90Sopenharmony_ci ~SettingObserver() override; 275ccb8f90Sopenharmony_ci void OnChange() override; 285ccb8f90Sopenharmony_ci 295ccb8f90Sopenharmony_ci void SetKey(const std::string& key); 305ccb8f90Sopenharmony_ci const std::string& GetKey(); 315ccb8f90Sopenharmony_ci 325ccb8f90Sopenharmony_ci using UpdateFunc = std::function<void(const std::string&)>; 335ccb8f90Sopenharmony_ci void SetUpdateFunc(UpdateFunc& func); 345ccb8f90Sopenharmony_ciprivate: 355ccb8f90Sopenharmony_ci std::string key_ {}; 365ccb8f90Sopenharmony_ci UpdateFunc update_ = nullptr; 375ccb8f90Sopenharmony_ci}; 385ccb8f90Sopenharmony_ci} // OHOS 395ccb8f90Sopenharmony_ci} // PowerMgr 405ccb8f90Sopenharmony_ci 415ccb8f90Sopenharmony_ci#endif // POWERMGR_POWER_MANAGER_POWER_SETTING_OBSERVER_H 42