Update physical LEDs as part of Lamp test

- Add the getSubTreePaths method for utils and update all physical
  LEDs.

- Uses GetSubTreePath on Physical LED paths and interfaces and
  updates all the LEDs to ON as part of start or restart of the test.

- When the lamp test is stopped or the timer expires, all the LEDs
  are turned OFF.

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I27727db62fe963a1a7c8b391d73801bcaf9efeec
diff --git a/lamptest.hpp b/lamptest.hpp
index ab33887..ffce377 100644
--- a/lamptest.hpp
+++ b/lamptest.hpp
@@ -1,5 +1,6 @@
 #pragma once
 
+#include "group.hpp"
 #include "manager.hpp"
 
 #include <sdeventplus/utility/timer.hpp>
@@ -34,16 +35,17 @@
      */
     LampTest(const sdeventplus::Event& event, Manager& manager) :
         timer(event, std::bind(std::mem_fn(&LampTest::timeOutHandler), this)),
-        manager(manager)
+        manager(manager), groupObj(NULL)
     {}
 
     /** @brief the lamp test request handler
      *
+     *  @param[in]  group    -  Pointer to Group object
      *  @param[in]  value    -  true: start lamptest
      *                          false: stop lamptest
      *  @return
      */
-    void requestHandler(bool value);
+    void requestHandler(Group* group, bool value);
 
   private:
     /** @brief Timer used for LEDs lamp test period */
@@ -52,6 +54,15 @@
     /** @brief Reference to Manager object */
     Manager& manager;
 
+    /** DBusHandler class handles the D-Bus operations */
+    DBusHandler dBusHandler;
+
+    /** @brief Pointer to Group object */
+    Group* groupObj;
+
+    /** all the Physical paths */
+    std::vector<std::string> physicalLEDPaths;
+
     /** @brief Start and restart lamp test depending on what is the current
      *         state. */
     void start();