PEL: LightPath: Assert LED groups

Fill in the functions to get the LED group D-Bus paths corresponding to
the called out location codes, and then set the Asserted property on
that path to turn on the LEDs.

If there are any problems looking up any of the LED groups, then do not
turn on any LEDs at all, even if others were OK.  In this case, the
system attention indicator will be turned on instead.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I7e3ee6259d972dd2c6939c5a1004c6d25c40e38a
diff --git a/extensions/openpower-pels/data_interface.hpp b/extensions/openpower-pels/data_interface.hpp
index 2a80dba..09bcf59 100644
--- a/extensions/openpower-pels/data_interface.hpp
+++ b/extensions/openpower-pels/data_interface.hpp
@@ -281,6 +281,26 @@
                                                 uint16_t node,
                                                 bool expanded) const = 0;
 
+    /**
+     * @brief Returns the fault LED group D-Bus path for the inventory
+     *        D-Bus path passed in.
+     *
+     * @param[in] inventoryPath - The inventory D-Bus path
+     *
+     * @return std::string - The fault LED group D-Bus path
+     */
+    virtual std::string
+        getFaultLEDGroup(const std::string& inventoryPath) const = 0;
+
+    /**
+     * @brief Sets the Asserted property on the LED group passed in.
+     *
+     * @param[in] ledGroup - The LED group D-Bus path
+     * @param[in] value - The value to set it to
+     */
+    virtual void assertLEDGroup(const std::string& ledGroup,
+                                bool value) const = 0;
+
   protected:
     /**
      * @brief Sets the host on/off state and runs any
@@ -508,6 +528,25 @@
                                         uint16_t node,
                                         bool expanded) const override;
 
+    /**
+     * @brief Returns the fault LED group D-Bus path for the inventory
+     *        D-Bus path passed in.
+     *
+     * @param[in] inventoryPath - The inventory D-Bus path
+     *
+     * @return std::string - The fault LED group D-Bus path
+     */
+    std::string
+        getFaultLEDGroup(const std::string& inventoryPath) const override;
+
+    /**
+     * @brief Sets the Asserted property on the LED group passed in.
+     *
+     * @param[in] ledGroup - The LED group D-Bus path
+     * @param[in] value - The value to set it to
+     */
+    void assertLEDGroup(const std::string& ledGroup, bool value) const override;
+
   private:
     /**
      * @brief Reads the BMC firmware version string and puts it into