PEL: Add SRC callouts from message registry

When an SRC is being built for a new PEL, it will now also add callouts
from the message registry JSON for that error.

This commit only adds support for callouts of maintenance procedures or
symbolic FRUs.  A future commit will add support for calling out a
regular piece of hardware

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I78c0d3440c748f21145d452742e3aa682f26003b
diff --git a/extensions/openpower-pels/src.hpp b/extensions/openpower-pels/src.hpp
index a9fecf8..52a973c 100644
--- a/extensions/openpower-pels/src.hpp
+++ b/extensions/openpower-pels/src.hpp
@@ -345,10 +345,12 @@
      * The callout sources are the AdditionalData event log property
      * and the message registry JSON.
      *
-     * @param[in] additionalData - the AdditionalData values
+     * @param[in] regEntry - The message registry entry for the error
+     * @param[in] additionalData - The AdditionalData values
      * @param[in] dataIface - The DataInterface object
      */
-    void addCallouts(const AdditionalData& additionalData,
+    void addCallouts(const message::Entry& regEntry,
+                     const AdditionalData& additionalData,
                      const DataInterfaceBase& dataIface);
 
     /**
@@ -361,6 +363,26 @@
                              const DataInterfaceBase& dataIface);
 
     /**
+     * @brief Adds FRU callouts based on the registry entry JSON
+     *       for this error.
+     * @param[in] regEntry - The message registry entry for the error
+     * @param[in] additionalData - The AdditionalData values
+     * @param[in] dataIface - The DataInterface object
+     */
+    void addRegistryCallouts(const message::Entry& regEntry,
+                             const AdditionalData& additionalData,
+                             const DataInterfaceBase& dataIface);
+
+    /**
+     * @brief Adds a single FRU callout from the message registry.
+     *
+     * @param[in] callout - The registry callout structure
+     * @param[in] dataIface - The DataInterface object
+     */
+    void addRegistryCallout(const message::RegistryCallout& callout,
+                            const DataInterfaceBase& dataIface);
+
+    /**
      * @brief Creates the Callouts object _callouts
      *        so that callouts can be added to it.
      */