PEL: Create UserHeader from parameters

Add a constructor to the UserHeader section class so it can be built
from the message registry entry for that error along with the event log
severity.

This will be used when creating PELs from OpenBMC event logs.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I7e432f59de7b3f0ba77c3e5887ed5ec3f442ed44
diff --git a/extensions/openpower-pels/user_header.hpp b/extensions/openpower-pels/user_header.hpp
index 5e64ff4..c1b6636 100644
--- a/extensions/openpower-pels/user_header.hpp
+++ b/extensions/openpower-pels/user_header.hpp
@@ -1,5 +1,7 @@
 #pragma once
 
+#include "elog_entry.hpp"
+#include "registry.hpp"
 #include "section.hpp"
 #include "stream.hpp"
 
@@ -35,6 +37,17 @@
     /**
      * @brief Constructor
      *
+     * Creates a valid UserHeader with the passed in data.
+     *
+     * @param[in] entry - The message registry entry for this error
+     * @param[in] severity - The OpenBMC event log severity for this error
+     */
+    UserHeader(const message::Entry& entry,
+               phosphor::logging::Entry::Level severity);
+
+    /**
+     * @brief Constructor
+     *
      * Fills in this class's data fields from the stream.
      *
      * @param[in] pel - the PEL data stream