18214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi/* 28214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi * Copyright (C) 2016 The Android Open Source Project 38214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi * 48214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi * Licensed under the Apache License, Version 2.0 (the "License"); 58214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi * you may not use this file except in compliance with the License. 68214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi * You may obtain a copy of the License at 78214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi * 88214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi * http://www.apache.org/licenses/LICENSE-2.0 98214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi * 108214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi * Unless required by applicable law or agreed to in writing, software 118214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi * distributed under the License is distributed on an "AS IS" BASIS, 128214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi * See the License for the specific language governing permissions and 148214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi * limitations under the License. 158214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi */ 168214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi 17d6e4f03acf5fa1e76b75e33af7a26f248a92be9aSteven Moreland#ifndef ANDROID_HARDWARE_POWER_V1_0_POWER_H 18d6e4f03acf5fa1e76b75e33af7a26f248a92be9aSteven Moreland#define ANDROID_HARDWARE_POWER_V1_0_POWER_H 198214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi 208214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi#include <android/hardware/power/1.0/IPower.h> 218214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi#include <hidl/Status.h> 228214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi 238214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi#include <hidl/MQDescriptor.h> 248214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoinamespace android { 258214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoinamespace hardware { 268214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoinamespace power { 278214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoinamespace V1_0 { 288214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoinamespace implementation { 298214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi 308214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoiusing ::android::hardware::power::V1_0::Feature; 318214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoiusing ::android::hardware::power::V1_0::IPower; 328214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoiusing ::android::hardware::power::V1_0::PowerHint; 338214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoiusing ::android::hardware::power::V1_0::PowerStatePlatformSleepState; 348214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoiusing ::android::hardware::power::V1_0::Status; 358214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoiusing ::android::hardware::Return; 368214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoiusing ::android::hardware::Void; 378214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoiusing ::android::hardware::hidl_vec; 388214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoiusing ::android::hardware::hidl_string; 398214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoiusing ::android::sp; 408214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi 418214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoistruct Power : public IPower { 428214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi Power(power_module_t* module); 438214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi ~Power(); 448214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi Return<void> setInteractive(bool interactive) override; 458214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi Return<void> powerHint(PowerHint hint, int32_t data) override; 468214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi Return<void> setFeature(Feature feature, bool activate) override; 478214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi Return<void> getPlatformLowPowerStats(getPlatformLowPowerStats_cb _hidl_cb) override; 488214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi 498214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi private: 508214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi power_module_t* mModule; 518214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi}; 528214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi 538214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoiextern "C" IPower* HIDL_FETCH_IPower(const char* name); 548214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi 558214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi} // namespace implementation 568214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi} // namespace V1_0 578214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi} // namespace power 588214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi} // namespace hardware 598214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi} // namespace android 608214a64afb2e1f6f269abe4a2007f3163fdcca95Ruchi Kandoi 61d6e4f03acf5fa1e76b75e33af7a26f248a92be9aSteven Moreland#endif // ANDROID_HARDWARE_POWER_V1_0_POWER_H 62