Use physical LED actions from generated code

Today's code returned a hardcoded string for physical LED action
and this patch uses the generated string for the passed in action enum

Fixes openbmc/phosphor-led-manager#2

Change-Id: I960e2d4346966caee526e1a0e8713e18d34b428a
Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
diff --git a/manager.cpp b/manager.cpp
index 0d25877..7b5791a 100644
--- a/manager.cpp
+++ b/manager.cpp
@@ -2,6 +2,7 @@
 #include <string>
 #include <algorithm>
 #include <phosphor-logging/log.hpp>
+#include <xyz/openbmc_project/Led/Physical/server.hpp>
 #include "manager.hpp"
 namespace phosphor
 {
@@ -141,21 +142,24 @@
 }
 
 /** @brief Returns action string based on enum */
-const char* const Manager::getPhysicalAction(Layout::Action action)
+std::string Manager::getPhysicalAction(Layout::Action action)
 {
-    // TODO : When this is moved over to using libdus interfaces, this code will
-    // away. https://github.com/openbmc/phosphor-led-manager/issues/2
+    namespace server = sdbusplus::xyz::openbmc_project::Led::server;
+
+    // TODO: openbmc/phosphor-led-manager#5
+    //    Somehow need to use the generated Action enum than giving one
+    //    in ledlayout.
     if(action == Layout::Action::On)
     {
-        return "xyz.openbmc_project.Led.Physical.Action.On";
+        return server::convertForMessage(server::Physical::Action::On);
     }
     else if(action == Layout::Action::Blink)
     {
-        return "xyz.openbmc_project.Led.Physical.Action.Blink";
+        return server::convertForMessage(server::Physical::Action::Blink);
     }
     else
     {
-        return "xyz.openbmc_project.Led.Physical.Action.Off";
+        return server::convertForMessage(server::Physical::Action::Off);
     }
 }
 
diff --git a/manager.hpp b/manager.hpp
index 8dbbcd6..4adb229 100644
--- a/manager.hpp
+++ b/manager.hpp
@@ -97,7 +97,7 @@
          *
          *  @return string equivalent of the passed in enumeration
          */
-        static const char* const getPhysicalAction(Layout::Action action);
+        static std::string getPhysicalAction(Layout::Action action);
 
         /** @brief Chooses appropriate action to be triggered on physical LED
          *  and calls into function that applies the actual action.
diff --git a/test/Makefile.am b/test/Makefile.am
index 6efd2c7..0bf5215 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -7,6 +7,6 @@
 check_PROGRAMS = utest
 utest_CPPFLAGS = -Igtest $(GTEST_CPPFLAGS) $(AM_CPPFLAGS) $(PHOSPHOR_LOGGING_CFLAGS)
 utest_CXXFLAGS = $(PTHREAD_CFLAGS)
-utest_LDFLAGS = -lgtest_main -lgtest $(PTHREAD_LIBS) $(OESDK_TESTCASE_FLAGS) $(SYSTEMD_LIBS) $(PHOSPHOR_LOGGING_LIBS)
+utest_LDFLAGS = -lgtest_main -lgtest $(PTHREAD_LIBS) $(OESDK_TESTCASE_FLAGS) $(SYSTEMD_LIBS) $(PHOSPHOR_LOGGING_LIBS) $(PHOSPHOR_DBUS_INTERFACES_LIBS)
 utest_SOURCES = utest.cpp
 utest_LDADD = $(top_builddir)/manager.o