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.hpp b/extensions/openpower-pels/pel_entry.hpp
new file mode 100644
index 0000000..7decb42
--- /dev/null
+++ b/extensions/openpower-pels/pel_entry.hpp
@@ -0,0 +1,68 @@
+#pragma once

+

+#include "manager.hpp"

+namespace openpower

+{

+namespace pels

+{

+

+using PELEntryIface = sdbusplus::org::open_power::Logging::PEL::server::Entry;

+using PropertiesVariant = PELEntryIface::PropertiesVariant;

+

+class PELEntry : public PELEntryIface

+{

+

+  public:

+    PELEntry() = delete;

+    PELEntry(const PELEntry&) = delete;

+    PELEntry& operator=(const PELEntry&) = delete;

+    PELEntry(PELEntry&&) = delete;

+    PELEntry& operator=(PELEntry&&) = delete;

+    virtual ~PELEntry() = default;

+

+    /** @brief Constructor to put an object onto the bus at a dbus path.

+     *  @param[in] bus - Bus to attach to.

+     *  @param[in] path - Path to attach at.

+     *  @param[in] prop - Default property values to be set when this interface

+     * is added to the bus.

+     *  @param[in] id - obmc id for this instance.

+     *  @param[in] repo - Repository pointer to lookup PEL to set appropriate

+     * attributes.

+     */

+

+    PELEntry(sdbusplus::bus::bus& bus, const std::string& path,

+             const std::map<std::string, PropertiesVariant>& prop, uint32_t id,

+             Repository* repo) :

+        PELEntryIface(bus, path.c_str(), prop),

+        _obmcId(id), _repo(repo)

+    {

+    }

+

+    /** @brief Update managementSystemAck flag.

+     *  @param[in] value - A true value says HMC acknowledged the PEL.

+     *  @returns New property value

+     */

+    bool managementSystemAck(bool value) override;

+

+    /**

+     * @brief Returns OpenBMC event log ID associated with this interface.

+     */

+    uint32_t getMyId(void) const

+    {

+        return _obmcId;

+    }

+

+  private:

+    /**

+     * @brief Corresponding OpenBMC event log id of this interface.

+     */

+    uint32_t _obmcId;

+

+    /**

+     * @brief Repository pointer to look for updating PEL fields.

+     */

+    Repository* _repo;

+};

+

+} // namespace pels

+} // namespace openpower
\ No newline at end of file