ipmi fru device description from dbus property

currently 'FRU Device Description' is retrieved via EM json decorator
"xyz.openbmc_project.Inventory.Decorator.I2CDevice"

which does not even pass the validator and is not present on any of
the upstream EM configs.

This patch provides the 'FRU Device Description' via FruDevice dbus
properties, if present.

Multiple Properties are considereded in order.

Tested: with 2 Supermicro PSU. FRU Device Description shows up.

Change-Id: I924d88b4a3a2406e2f0747b1965cb5f5b50fd096
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
diff --git a/dbus-sdr/storagecommands.cpp b/dbus-sdr/storagecommands.cpp
index e587c56..b61e13f 100644
--- a/dbus-sdr/storagecommands.cpp
+++ b/dbus-sdr/storagecommands.cpp
@@ -669,6 +669,21 @@
 
 #endif
 
+    std::vector<std::string> nameProperties = {
+        "PRODUCT_PRODUCT_NAME",  "BOARD_PRODUCT_NAME",   "PRODUCT_PART_NUMBER",
+        "BOARD_PART_NUMBER",     "PRODUCT_MANUFACTURER", "BOARD_MANUFACTURER",
+        "PRODUCT_SERIAL_NUMBER", "BOARD_SERIAL_NUMBER"};
+
+    for (const std::string& prop : nameProperties)
+    {
+        auto findProp = fruData->find(prop);
+        if (findProp != fruData->end())
+        {
+            name = std::get<std::string>(findProp->second);
+            break;
+        }
+    }
+
     if (name.empty())
     {
         name = "UNKNOWN";