PEL: Read the journal info from the registry

Add support to the Registry class to read the JournalCapture information
out of the registry entry for an error if it is there.  This will then
be used by the PEL class when creating a PEL.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I529e4fb352c6eb33ad73b2a04ac4467710865139
diff --git a/extensions/openpower-pels/registry.hpp b/extensions/openpower-pels/registry.hpp
index f5888b3..7ee5979 100644
--- a/extensions/openpower-pels/registry.hpp
+++ b/extensions/openpower-pels/registry.hpp
@@ -6,6 +6,7 @@
 #include <filesystem>
 #include <optional>
 #include <string>
+#include <variant>
 #include <vector>
 
 namespace openpower
@@ -107,6 +108,17 @@
     SRC() : type(0), reasonCode(0) {}
 };
 
+struct AppCapture
+{
+    std::string syslogID;
+    size_t numLines;
+};
+
+// Can specify either the syslog IDs to capture along with how many
+// entries of each, or just how many entries to get the full journal.
+using AppCaptureList = std::vector<AppCapture>;
+using JournalCapture = std::variant<size_t, AppCaptureList>;
+
 /**
  * @brief Represents a message registry entry, which is used for creating a
  *        PEL from an OpenBMC event log.
@@ -180,6 +192,11 @@
      * @brief The callout JSON, if the entry has callouts.
      */
     std::optional<nlohmann::json> callouts;
+
+    /**
+     * @brief The journal capture instructions, if present.
+     */
+    std::optional<JournalCapture> journalCapture;
 };
 
 /**