Add the restoreLedsAssert method for LED manager

- Logically, Since the physical LEDs states should not be operated
  during the lamp test, all the physical LEDs states before and
  during the lamp test should be saved and restored after the lamp
  test.

Tested:
- Store the state of all the physical LEDs before the lamp test,
  and keep the state of all the physical LEDs consistent after
  the lamp test.

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I8b321bae2e38001ea33a80bda8badcf4c8a55040
diff --git a/utils.hpp b/utils.hpp
index ef56f5f..8499b2a 100644
--- a/utils.hpp
+++ b/utils.hpp
@@ -20,6 +20,12 @@
 using PropertyValue = std::variant<uint8_t, uint16_t, std::string,
                                    std::vector<std::string>, bool>;
 
+// The name of the property
+using DbusProperty = std::string;
+
+// The Map to constructs all properties values of the interface
+using PropertyMap = std::map<DbusProperty, PropertyValue>;
+
 /**
  *  @class DBusHandler
  *
@@ -49,6 +55,18 @@
     const std::string getService(const std::string& path,
                                  const std::string& interface) const;
 
+    /** @brief Get All properties
+     *
+     *  @param[in] objectPath       -   D-Bus object path
+     *  @param[in] interface        -   D-Bus interface
+     *
+     *  @return The Map to constructs all properties values
+     *
+     *  @throw sdbusplus::exception::SdBusError when it fails
+     */
+    const PropertyMap getAllProperties(const std::string& objectPath,
+                                       const std::string& interface) const;
+
     /** @brief Get property(type: variant)
      *
      *  @param[in] objectPath       -   D-Bus object path