#ifndef ANDROID_HARDWARE_THERMAL_V1_1_THERMALCALLBACK_H #define ANDROID_HARDWARE_THERMAL_V1_1_THERMALCALLBACK_H #include <android/hardware/thermal/1.1/IThermalCallback.h> #include <android/hardware/thermal/1.0/types.h> #include <android/os/Temperature.h> #include <hidl/MQDescriptor.h> #include <hidl/Status.h> #include "services/thermalservice/ThermalService.h" namespace android { namespace hardware { namespace thermal { namespace V1_1 { namespace implementation { using ::android::hardware::Return; using ::android::hardware::Void; using ::android::os::ThermalService; class ThermalCallback : public IThermalCallback { public: // Register a binder ThermalService object for sending events void registerThermalService(sp<ThermalService> thermalService); // Methods from IThermalCallback::V1_1 follow. Return<void> notifyThrottling( bool isThrottling, const android::hardware::thermal::V1_0::Temperature& temperature) override; private: // Our registered binder ThermalService object to use for sending events sp<android::os::ThermalService> mThermalService; }; } // namespace implementation } // namespace V1_1 } // namespace thermal } // namespace hardware } // namespace android #endif // ANDROID_HARDWARE_THERMAL_V1_1_THERMALCALLBACK_H