PEL: Let Callouts class have a Callout added
Add an addCallout() function to the Callouts class to add a new Callout
object to it.
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ib2a352b3b10e2948c4e847d29a456b8de9cb3559
diff --git a/extensions/openpower-pels/callouts.hpp b/extensions/openpower-pels/callouts.hpp
index 9226a1b..4a05306 100644
--- a/extensions/openpower-pels/callouts.hpp
+++ b/extensions/openpower-pels/callouts.hpp
@@ -10,6 +10,9 @@
namespace src
{
+constexpr uint8_t calloutsSubsectionID = 0xC0;
+constexpr size_t maxNumberOfCallouts = 10;
+
/**
* @class Callouts
*
@@ -23,7 +26,6 @@
class Callouts
{
public:
- Callouts() = default;
~Callouts() = default;
Callouts(const Callouts&) = delete;
Callouts& operator=(const Callouts&) = delete;
@@ -33,6 +35,17 @@
/**
* @brief Constructor
*
+ * Creates the object with no callouts.
+ */
+ Callouts() :
+ _subsectionID(calloutsSubsectionID), _subsectionFlags(0),
+ _subsectionWordLength(1)
+ {
+ }
+
+ /**
+ * @brief Constructor
+ *
* Fills in this class's data fields from the stream.
*
* @param[in] pel - the PEL data stream
@@ -66,6 +79,13 @@
return _callouts;
}
+ /**
+ * @brief Adds a callout
+ *
+ * @param[in] callout - The callout to add
+ */
+ void addCallout(std::unique_ptr<Callout> callout);
+
private:
/**
* @brief The ID of this subsection, which is 0xC0.