pel-quiesce: quiesce on error pels with callout

The PEL requirement is that if a nonInfo host PEL is logged, it has a
callout of any type within it, and the QuiesceOnHwError is enabled,
then the boot block / quiesce functionality should be executed.

Tested:

1) Verified nothing occurs when QuiesceOnHwError is not enabled

2) Injected info PEL with no callout and unrecoverable error with no
   callout with QuiesceOnHwError enabled and verified no actions were
   taken.

3) Injected Error PEL with callout and QuiesceOnHwError enabled
   and verified boot block logic was enabled.

Error inject which will create PEL with callout:
busctl call xyz.openbmc_project.Logging /xyz/openbmc_project/logging xyz.openbmc_project.Logging.Create Create ssa{ss} org.open_power.Logging.Error.TestError1 xyz.openbmc_project.Logging.Entry.Level.Error 0

Journal from fail:
Sep 09 14:03:30 w56 phosphor-log-manager[264]: Created PEL 0x50000266 (BMC ID 340) with SRC BD802003
Sep 09 14:03:30 w56 phosphor-log-manager[264]: QuiesceOnHwError enabled, PEL severity not nonError, and callout is present
Sep 09 14:03:30 w56 phosphor-log-manager[264]: QuiesceOnError set and callout present
Sep 09 14:03:30 w56 systemd[1]: Reached target Quiesce Target.

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I09e3ced608ffd2661d9cf015a24d4e0d8a6a84bd
diff --git a/extensions/openpower-pels/manager.hpp b/extensions/openpower-pels/manager.hpp
index 59c2e0d..e726812 100644
--- a/extensions/openpower-pels/manager.hpp
+++ b/extensions/openpower-pels/manager.hpp
@@ -301,6 +301,17 @@
     void pelFileDeleted(sdeventplus::source::IO& io, int fd, uint32_t revents);
 
     /**
+     * @brief Check if the input PEL should cause a quiesce of the system
+     *
+     * If QuiesceOnHwError is enabled within phosphor-settings and the PEL
+     * from the host has a severity which is not SeverityType::nonError then
+     * execute the quiesce and boot block logic.
+     *
+     * @param[in] pel - The PEL to check
+     */
+    void checkPelAndQuiesce(std::unique_ptr<openpower::pels::PEL>& pel);
+
+    /**
      * @brief Reference to phosphor-logging's Manager class
      */
     phosphor::logging::internal::Manager& _logManager;