PEL.Entry - Add managementSystemAck property

Add managementSystemAck property to PEL.Entry interface to support HMC
acknowledgement of event receipt.

Tested:
1. Created a PEL log using busctl and set-property managementSystemAck
to true. Verified that the flag is set by using peltool
 Result:(output of peltool)
    "Host Transmission":        "Not Sent",
    "HMC Transmission":         "Acked"
Restarted phosphor-log-manager and verified that the flag is true.

2. Generated PEL using RAWPEL and verified all the steps as in 1.

Change-Id: Ifa06cca0063c6c609317192f9c18bb2524e2f292
Signed-off-by: Vijay Lobo <vijaylobo@gmail.com>
diff --git a/extensions/openpower-pels/pel_entry.cpp b/extensions/openpower-pels/pel_entry.cpp
new file mode 100644
index 0000000..403befd
--- /dev/null
+++ b/extensions/openpower-pels/pel_entry.cpp
@@ -0,0 +1,39 @@
+#include "pel_entry.hpp"

+

+#include <iostream>

+#include <xyz/openbmc_project/Common/error.hpp>

+

+namespace openpower

+{

+namespace pels

+{

+

+namespace common_error = sdbusplus::xyz::openbmc_project::Common::Error;

+

+bool PELEntry::managementSystemAck(bool value)

+{

+    auto current = sdbusplus::org::open_power::Logging::PEL::server::Entry::

+        managementSystemAck();

+    if (value != current)

+    {

+        current = sdbusplus::org::open_power::Logging::PEL::server::Entry::

+            managementSystemAck(value);

+

+        Repository::LogID id{Repository::LogID::Obmc(getMyId())};

+        if (auto logId = _repo->getLogID(id); logId.has_value())

+        {

+            // Update HMC acknowledge bit in PEL

+            _repo->setPELHMCTransState(

+                logId->pelID.id,

+                (value ? TransmissionState::acked : TransmissionState::newPEL));

+        }

+        else

+        {

+            throw common_error::InvalidArgument();

+        }

+    }

+    return current;

+}

+

+} // namespace pels

+} // namespace openpower