diff options
Diffstat (limited to 'light/2.0/default/Light.cpp')
-rw-r--r-- | light/2.0/default/Light.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/light/2.0/default/Light.cpp b/light/2.0/default/Light.cpp index cde1536633..5484d2db43 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; |