Created ServiceData class for hardware analysis
This class will contain data for any service actions required during
analysis of the hardware errors.
Signed-off-by: Zane Shelley <zshelle@us.ibm.com>
Change-Id: I93f2c8113881510fff960f7428ee519e8a584938
diff --git a/analyzer/service_data.hpp b/analyzer/service_data.hpp
index 9c5e6fd..eff85d8 100644
--- a/analyzer/service_data.hpp
+++ b/analyzer/service_data.hpp
@@ -148,4 +148,50 @@
}
};
+/**
+ * @brief Data regarding required service actions based on the hardware error
+ * analysis.
+ */
+class ServiceData
+{
+ public:
+ /** @brief Default constructor. */
+ ServiceData() = default;
+
+ /** @brief Destructor. */
+ ~ServiceData() = default;
+
+ /** @brief Copy constructor. */
+ ServiceData(const ServiceData&) = default;
+
+ /** @brief Assignment operator. */
+ ServiceData& operator=(const ServiceData&) = default;
+
+ private:
+ /** The list of callouts that will be added to a PEL. */
+ std::vector<std::shared_ptr<Callout>> iv_calloutList;
+
+ public:
+ /** Add a callout to the callout list. */
+ void addCallout(const std::shared_ptr<Callout>& i_callout)
+ {
+ iv_calloutList.push_back(i_callout);
+ }
+
+ /**
+ * @brief Iterates the callout list and returns the json attached to each
+ * callout in the list.
+ * @param o_json The returned json data.
+ */
+ void getCalloutList(nlohmann::json& o_json) const
+ {
+ o_json.clear(); // Ensure we are starting with a clean list.
+
+ for (const auto& c : iv_calloutList)
+ {
+ c->getJson(o_json);
+ }
+ }
+};
+
} // namespace analyzer