163ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood/*
263ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * Copyright (C) 2013 The Android Open Source Project
363ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood *
463ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * Licensed under the Apache License, Version 2.0 (the "License");
563ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * you may not use this file except in compliance with the License.
663ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * You may obtain a copy of the License at
763ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood *
863ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood *      http://www.apache.org/licenses/LICENSE-2.0
963ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood *
1063ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * Unless required by applicable law or agreed to in writing, software
1163ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * distributed under the License is distributed on an "AS IS" BASIS,
1263ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1363ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * See the License for the specific language governing permissions and
1463ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * limitations under the License.
1563ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood */
1663ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood
1763ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood#ifndef ANDROID_IBATTERYSTATS_H
1863ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood#define ANDROID_IBATTERYSTATS_H
1963ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood
2063ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood#include <binder/IInterface.h>
2163ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood
2263ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwoodnamespace android {
2363ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood
2463ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood// ----------------------------------------------------------------------
2563ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood
2663ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwoodclass IBatteryStats : public IInterface
2763ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood{
2863ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwoodpublic:
2963ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood    DECLARE_META_INTERFACE(BatteryStats);
3063ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood
3163ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood    virtual void noteStartSensor(int uid, int sensor) = 0;
3263ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood    virtual void noteStopSensor(int uid, int sensor) = 0;
33bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang    virtual void noteStartVideo(int uid) = 0;
34bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang    virtual void noteStopVideo(int uid) = 0;
35bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang    virtual void noteStartAudio(int uid) = 0;
36bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang    virtual void noteStopAudio(int uid) = 0;
372cbba477bea136698944ece498115dbddd7bb659Chong Zhang    virtual void noteResetVideo() = 0;
382cbba477bea136698944ece498115dbddd7bb659Chong Zhang    virtual void noteResetAudio() = 0;
3963ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood
4063ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood    enum {
4163ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood        NOTE_START_SENSOR_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION,
4263ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood        NOTE_STOP_SENSOR_TRANSACTION,
43bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang        NOTE_START_VIDEO_TRANSACTION,
44bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang        NOTE_STOP_VIDEO_TRANSACTION,
45bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang        NOTE_START_AUDIO_TRANSACTION,
46bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang        NOTE_STOP_AUDIO_TRANSACTION,
472cbba477bea136698944ece498115dbddd7bb659Chong Zhang        NOTE_RESET_VIDEO_TRANSACTION,
482cbba477bea136698944ece498115dbddd7bb659Chong Zhang        NOTE_RESET_AUDIO_TRANSACTION,
4963ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood    };
5063ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood};
5163ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood
5263ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood// ----------------------------------------------------------------------
5363ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood
5463ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwoodclass BnBatteryStats : public BnInterface<IBatteryStats>
5563ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood{
5663ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwoodpublic:
5763ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood    virtual status_t    onTransact( uint32_t code,
5863ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood                                    const Parcel& data,
5963ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood                                    Parcel* reply,
6063ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood                                    uint32_t flags = 0);
6163ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood};
6263ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood
6363ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood// ----------------------------------------------------------------------
6463ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood
6563ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood}; // namespace android
6663ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood
6763ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood#endif // ANDROID_IBATTERYSTATS_H
68