PEL: Support resolution property

Support resolution property to add callouts

Tested: Created new PEL using busctl and checked for the property to
see if the value is updated. The error log daemon was restarted and the
property is checked again to make sure the value is restored.

Verified serialization of new error log by recreating it on a old code
version to make sure logs are created w/o the new property and the
daemon did not crash.

Result:
root@rainier:~# busctl get-property xyz.openbmc_project.Logging \
 /xyz/openbmc_project/logging/entry/1 xyz.openbmc_project.Logging.\
 Entry Resolution
s "1. Priority: High, Procedure: BMCSP02\n2. Priority: Medium, PN: \
SVCDOCS\n"

Test with location Code:
root@p10bmc:~# busctl get-property xyz.openbmc_project.Logging \
/xyz/openbmc_project/logging/entry/3 xyz.openbmc_project.Logging.Entry \
Resolution
s "1. Location Code: U78DA.ND0.1234567-P0, Priority: Medium, PN: SVCDOCS\n2. \
Priority: Low, Procedure: BMCSP02\n"

Signed-off-by: Vijay Lobo <vijaylobo@gmail.com>
Change-Id: I44eebbf794efeb8e752fff98de7c638c927982cd
diff --git a/extensions/openpower-pels/pel_values.cpp b/extensions/openpower-pels/pel_values.cpp
index 277954e..11128bd 100644
--- a/extensions/openpower-pels/pel_values.cpp
+++ b/extensions/openpower-pels/pel_values.cpp
@@ -315,13 +315,21 @@
     {TransmissionState::sent, "Sent"},
     {TransmissionState::acked, "Acked"}};
 
-std::string getValue(const uint8_t field, const pel_values::PELValues& values)
+std::string getValue(const uint8_t field, const pel_values::PELValues& values,
+                     const uint8_t position)
 {
 
     auto tmp = pel_values::findByValue(field, values);
     if (tmp != values.end())
     {
-        return std::get<pel_values::descriptionPos>(*tmp);
+        if (position == pel_values::registryNamePos)
+        {
+            return std::get<pel_values::registryNamePos>(*tmp);
+        }
+        else
+        {
+            return std::get<pel_values::descriptionPos>(*tmp);
+        }
     }
     else
     {