extensions: pels: Add PEL path to elog entry

Populate the path property of the error log entry with the path
to the PEL path. This requires making the entries map public.

Restore the value of the path for the entries when the PEL
manager starts up once the Repository has verified each PEL file.

Tested: Verified the PEL path was populated in the path property
        and that it was re-populated after restarting the app.
root@openbmc:~# busctl --no-pager get-property xyz.openbmc_project.Logging \
  /xyz/openbmc_project/logging/entry/884 xyz.openbmc_project.Common.FilePath Path
s "/var/lib/phosphor-logging/extensions/pels/logs/2020120522023306_50000D30"

Change-Id: I2a7315bbc3f0f4699e77aadbc7da05818c0c15e3
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
diff --git a/extensions/openpower-pels/manager.cpp b/extensions/openpower-pels/manager.cpp
index db9f9e3..ca8c54c 100644
--- a/extensions/openpower-pels/manager.cpp
+++ b/extensions/openpower-pels/manager.cpp
@@ -91,6 +91,8 @@
                       associations, ffdc);
         }
     }
+
+    setEntryPath(obmcLogID);
 }
 
 void Manager::addRawPEL(const std::string& rawPelPath, uint32_t obmcLogID)
@@ -612,5 +614,19 @@
     }
 }
 
+void Manager::setEntryPath(uint32_t obmcLogID)
+{
+    Repository::LogID id{Repository::LogID::Obmc(obmcLogID)};
+    if (auto attributes = _repo.getPELAttributes(id); attributes)
+    {
+        auto& attr = attributes.value().get();
+        auto entry = _logManager.entries.find(obmcLogID);
+        if (entry != _logManager.entries.end())
+        {
+            entry->second->path(attr.path);
+        }
+    }
+}
+
 } // namespace pels
 } // namespace openpower