187bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor/* 287bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * Copyright (C) 2013 The Android Open Source Project 387bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * 487bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * Licensed under the Apache License, Version 2.0 (the "License"); 587bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * you may not use this file except in compliance with the License. 687bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * You may obtain a copy of the License at 787bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * 887bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * http://www.apache.org/licenses/LICENSE-2.0 987bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * 1087bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * Unless required by applicable law or agreed to in writing, software 1187bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * distributed under the License is distributed on an "AS IS" BASIS, 1287bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1387bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * See the License for the specific language governing permissions and 1487bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor * limitations under the License. 1587bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor */ 1687bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor 1787bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor#ifndef ANDROID_IBATTERYPROPERTIESREGISTRAR_H 1887bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor#define ANDROID_IBATTERYPROPERTIESREGISTRAR_H 1987bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor 2087bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor#include <binder/IInterface.h> 2187bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor#include <batteryservice/IBatteryPropertiesListener.h> 2287bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor 2387bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynornamespace android { 2487bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor 2587bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor// must be kept in sync with interface defined in IBatteryPropertiesRegistrar.aidl 2687bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynorenum { 2787bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor REGISTER_LISTENER = IBinder::FIRST_CALL_TRANSACTION, 2887bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor UNREGISTER_LISTENER, 29cf8087358658d393150c383b01feef9064a4cdfcTodd Poynor GET_PROPERTY, 3087bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor}; 3187bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor 3287bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynorclass IBatteryPropertiesRegistrar : public IInterface { 3387bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynorpublic: 3487bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor DECLARE_META_INTERFACE(BatteryPropertiesRegistrar); 3587bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor 3687bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor virtual void registerListener(const sp<IBatteryPropertiesListener>& listener) = 0; 3787bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor virtual void unregisterListener(const sp<IBatteryPropertiesListener>& listener) = 0; 38cf8087358658d393150c383b01feef9064a4cdfcTodd Poynor virtual status_t getProperty(int id, struct BatteryProperty *val) = 0; 3987bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor}; 4087bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor 4187bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynorclass BnBatteryPropertiesRegistrar : public BnInterface<IBatteryPropertiesRegistrar> { 4287bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynorpublic: 4387bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor virtual status_t onTransact(uint32_t code, const Parcel& data, 4487bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor Parcel* reply, uint32_t flags = 0); 4587bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor}; 4687bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor 4787bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor}; // namespace android 4887bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor 4987bf0d97be5ef2689546b246dfb6c21c4eec3ce0Todd Poynor#endif // ANDROID_IBATTERYPROPERTIESREGISTRAR_H 50