1 /* 2 * Copyright (c) 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 16 #ifndef MOCK_POWER_MGR_CLIENT_H 17 #define MOCK_POWER_MGR_CLIENT_H 18 19 #include "power_mgr_client.h" 20 21 namespace OHOS { 22 namespace PowerMgr { 23 class MockPowerMgrClient { 24 public: 25 PowerErrors WakeupDevice(WakeupDeviceType reason = WakeupDeviceType::WAKEUP_DEVICE_APPLICATION, 26 const std::string& detail = std::string("app call")) 27 { 28 if (static_cast<int32_t>(reason) <= static_cast<int32_t>(WakeupDeviceType::WAKEUP_DEVICE_UNKNOWN) || 29 static_cast<int32_t>(reason) >= static_cast<int32_t>(WakeupDeviceType::WAKEUP_DEVICE_MAX)) { 30 state_ = false; 31 return PowerErrors::ERR_OK; 32 } 33 if (detail == "pre_bright") { 34 state_ = false; 35 } else if (detail == "pre_bright_auth_success") { 36 state_ = true; 37 } else if (detail == "pre_bright_auth_fail_screen_off") { 38 state_ = false; 39 } else if (detail == "pre_bright_auth_fail_screen_on") { 40 state_ = false; 41 } else { 42 state_ = true; 43 } 44 return PowerMgrClient::GetInstance().WakeupDevice(reason, detail); 45 } 46 IsForceSleeping()47 bool IsForceSleeping() 48 { 49 return PowerMgrClient::GetInstance().IsForceSleeping(); 50 } 51 ForceSuspendDevice()52 PowerErrors ForceSuspendDevice() 53 { 54 state_ = false; 55 PowerErrors ret = PowerMgrClient::GetInstance().ForceSuspendDevice(); 56 return ret; 57 } 58 SuspendDevice()59 PowerErrors SuspendDevice() 60 { 61 state_ = false; 62 return PowerMgrClient::GetInstance().SuspendDevice(); 63 } 64 OverrideScreenOffTime(int64_t timeout)65 PowerErrors OverrideScreenOffTime(int64_t timeout) 66 { 67 return PowerMgrClient::GetInstance().OverrideScreenOffTime(timeout); 68 } 69 RestoreScreenOffTime()70 PowerErrors RestoreScreenOffTime() 71 { 72 return PowerMgrClient::GetInstance().RestoreScreenOffTime(); 73 } 74 IsScreenOn()75 bool IsScreenOn() 76 { 77 return state_; 78 } 79 GetInstance()80 static MockPowerMgrClient& GetInstance() 81 { 82 static MockPowerMgrClient instance; 83 return static_cast<MockPowerMgrClient&>(instance); 84 } 85 private: 86 bool state_; 87 }; 88 } // PowerMgr 89 } // OHOS 90 #endif // MOCK_POWER_MGR_CLIENT_H