Fix fault-monitor interfacesAdded msg parsing

With the latest sdbusplus exception handling changes,
an exception was being thrown when trying to read a pair
out of the interfacesAdded signal message.

Change the code to read the path and map separately.

Also modified the name of the data structures to match
what the message actually returned.

Tested:  The exception journal entries went away and LEDs
         will turn on and off again.

Change-Id: I2c72000e0da365743715da966a0c9e571efd33d5
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
diff --git a/fault-monitor/fru-fault-monitor.cpp b/fault-monitor/fru-fault-monitor.cpp
index 363cabc..431a7f4 100644
--- a/fault-monitor/fru-fault-monitor.cpp
+++ b/fault-monitor/fru-fault-monitor.cpp
@@ -31,11 +31,10 @@
 using AssociationList = std::vector<std::tuple<
                         std::string, std::string, std::string>>;
 using Attributes = sdbusplus::message::variant<bool,AssociationList>;
-using AttributeName = std::string;
-using AttributeMap = std::map<AttributeName, Attributes>;
 using PropertyName = std::string;
-using PropertyMap = std::map<PropertyName, AttributeMap>;
-using LogEntryMsg = std::pair<sdbusplus::message::object_path, PropertyMap>;
+using PropertyMap = std::map<PropertyName, Attributes>;
+using InterfaceName = std::string;
+using InterfaceMap = std::map<InterfaceName, PropertyMap>;
 
 using Service = std::string;
 using Path = std::string;
@@ -153,10 +152,11 @@
 {
     auto bus = msg.get_bus();
 
-    LogEntryMsg logEntry;
+    sdbusplus::message::object_path objectPath;
+    InterfaceMap interfaces;
     try
     {
-        msg.read(logEntry);
+        msg.read(objectPath, interfaces);
     }
     catch (const sdbusplus::exception::SdBusError& e)
     {
@@ -165,23 +165,22 @@
                         entry("REPLY_SIG=%s", msg.get_signature()));
         return;
     }
-    std::string objectPath(std::move(logEntry.first));
 
-    std::size_t found = objectPath.find(ELOG_ENTRY);
+    std::size_t found = objectPath.str.find(ELOG_ENTRY);
     if (found == std::string::npos)
     {
         //Not a new error entry skip
         return;
     }
-    auto iter = logEntry.second.find("org.openbmc.Associations");
-    if (iter == logEntry.second.end())
+    auto iter = interfaces.find("org.openbmc.Associations");
+    if (iter == interfaces.end())
     {
         return;
     }
 
     //Nothing else shows when a specific error log
     //has been created. Do it here.
-    std::string message{objectPath + " created"};
+    std::string message{objectPath.str + " created"};
     log<level::INFO>(message.c_str());
 
     auto attr = iter->second.find("associations");