PEL: Skip purging PEL if it has associated hw isolation entry

When PELs reaches to certain limits, either in total size or
total number of them, the code starts removing older pels
based on certain criteria. During this process make sure
no pel is removed that has an associated hardware isolation
entry record or error_log event record.

Signed-off-by: Sumit Kumar <sumit_kumar@in.ibm.com>
Change-Id: Ia7c9af6911bcf2ac8f8ec046d4c7a7a12d9b2bbd
diff --git a/extensions/openpower-pels/data_interface.hpp b/extensions/openpower-pels/data_interface.hpp
index b1f1e92..4095cce 100644
--- a/extensions/openpower-pels/data_interface.hpp
+++ b/extensions/openpower-pels/data_interface.hpp
@@ -367,6 +367,14 @@
         createProgressSRC(const uint64_t& priSRC,
                           const std::vector<uint8_t>& srcStruct) const = 0;
 
+    /**
+     * @brief Get the list of unresolved OpenBMC event log ids that have an
+     * associated hardware isolation entry.
+     *
+     * @return std::vector<uint32_t> - The list of log ids
+     */
+    virtual std::vector<uint32_t> getLogIDWithHwIsolation() const = 0;
+
   protected:
     /**
      * @brief Sets the host on/off state and runs any
@@ -677,6 +685,14 @@
         createProgressSRC(const uint64_t& priSRC,
                           const std::vector<uint8_t>& srcStruct) const override;
 
+    /**
+     * @brief Get the list of unresolved OpenBMC event log ids that have an
+     * associated hardware isolation entry.
+     *
+     * @return std::vector<uint32_t> - The list of log ids
+     */
+    std::vector<uint32_t> getLogIDWithHwIsolation() const override;
+
   private:
     /**
      * @brief Reads the BMC firmware version string and puts it into