summaryrefslogtreecommitdiff
path: root/light/2.0/default/Light.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'light/2.0/default/Light.cpp')
-rw-r--r--light/2.0/default/Light.cpp24
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;