IPowerManager.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. * Copyright (C) 2011 The Android Open Source Project
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. #ifndef ANDROID_IPOWERMANAGER_H
  17. #define ANDROID_IPOWERMANAGER_H
  18. #include <utils/Errors.h>
  19. #include <binder/IInterface.h>
  20. #include <hardware/power.h>
  21. namespace android {
  22. // ----------------------------------------------------------------------------
  23. // must be kept in sync with interface defined in IPowerManager.aidl
  24. class IPowerManager : public IInterface
  25. {
  26. public:
  27. DECLARE_META_INTERFACE(PowerManager);
  28. // FIXME remove the bool isOneWay parameters as they are not oneway in the .aidl
  29. virtual status_t acquireWakeLock(int flags, const sp<IBinder>& lock, const String16& tag,
  30. const String16& packageName, bool isOneWay = false) = 0;
  31. virtual status_t acquireWakeLockWithUid(int flags, const sp<IBinder>& lock, const String16& tag,
  32. const String16& packageName, int uid, bool isOneWay = false) = 0;
  33. virtual status_t releaseWakeLock(const sp<IBinder>& lock, int flags, bool isOneWay = false) = 0;
  34. virtual status_t updateWakeLockUids(const sp<IBinder>& lock, int len, const int *uids,
  35. bool isOneWay = false) = 0;
  36. // oneway in the .aidl
  37. virtual status_t powerHint(int hintId, int data) = 0;
  38. };
  39. // ----------------------------------------------------------------------------
  40. }; // namespace android
  41. #endif // ANDROID_IPOWERMANAGER_H