diff options
author | Steven Moreland <smoreland@google.com> | 2017-12-22 22:02:12 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-12-22 22:02:12 +0000 |
commit | 7de4288e6d5bf4f82c325d1945b59735fc3e5f79 (patch) | |
tree | 035532f90c26b95cf3846be2d5c032710aea678c /light | |
parent | eb2b87ba3ee16f245b9367ead0ce24471313e4da (diff) | |
parent | 711ea3501ab2a1c3f692a565dc06bbdacfed739d (diff) | |
download | android_hardware_interfaces-7de4288e6d5bf4f82c325d1945b59735fc3e5f79.tar.gz android_hardware_interfaces-7de4288e6d5bf4f82c325d1945b59735fc3e5f79.tar.bz2 android_hardware_interfaces-7de4288e6d5bf4f82c325d1945b59735fc3e5f79.zip |
Merge "Add debug output for lights." am: 25ccf20c8c am: ba7d14198b
am: 711ea3501a
Change-Id: Ib37c58aeb9aa13542ae730426cc7c4e2ae39e19c
Diffstat (limited to 'light')
-rw-r--r-- | light/2.0/default/Light.cpp | 24 | ||||
-rw-r--r-- | light/2.0/default/Light.h | 5 |
2 files changed, 27 insertions, 2 deletions
diff --git a/light/2.0/default/Light.cpp b/light/2.0/default/Light.cpp index cde153663..5484d2db4 100644 --- a/light/2.0/default/Light.cpp +++ b/light/2.0/default/Light.cpp @@ -18,6 +18,8 @@ #include <log/log.h> +#include <stdio.h> + #include "Light.h" namespace android { @@ -107,6 +109,28 @@ const static std::map<Type, const char*> kLogicalLights = { {Type::WIFI, LIGHT_ID_WIFI} }; +Return<void> Light::debug(const hidl_handle& handle, const hidl_vec<hidl_string>& /* options */) { + if (handle == nullptr || handle->numFds < 1) { + ALOGE("debug called with no handle\n"); + return Void(); + } + + int fd = handle->data[0]; + if (fd < 0) { + ALOGE("invalid FD: %d\n", handle->data[0]); + return Void(); + } + + dprintf(fd, "The following lights are registered: "); + for (auto const& pair : mLights) { + const Type type = pair.first; + dprintf(fd, "%s,", kLogicalLights.at(type)); + } + dprintf(fd, ".\n"); + fsync(fd); + return Void(); +} + light_device_t* getLightDevice(const char* name) { light_device_t* lightDevice; const hw_module_t* hwModule = NULL; diff --git a/light/2.0/default/Light.h b/light/2.0/default/Light.h index 8987036f9..8851461de 100644 --- a/light/2.0/default/Light.h +++ b/light/2.0/default/Light.h @@ -42,11 +42,12 @@ using ::android::sp; struct Light : public ILight { Light(std::map<Type, light_device_t*> &&lights); - // Methods from ::android::hardware::light::V2_0::ILight follow. Return<Status> setLight(Type type, const LightState& state) override; Return<void> getSupportedTypes(getSupportedTypes_cb _hidl_cb) override; -private: + Return<void> debug(const hidl_handle& handle, const hidl_vec<hidl_string>& options) override; + + private: std::map<Type, light_device_t*> mLights; }; |