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