control: Add 'events' section to dump
Add an events section to the fan control dump that contains all of the
configured events with their contained action and group names.
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I8e9fa9ce975ac30837b0842908faeb63ddc31e2a
diff --git a/control/json/event.cpp b/control/json/event.cpp
index 0f9ab8a..409006a 100644
--- a/control/json/event.cpp
+++ b/control/json/event.cpp
@@ -313,4 +313,25 @@
}
}
+json Event::dump() const
+{
+ json actionData;
+ std::for_each(_actions.begin(), _actions.end(),
+ [&actionData](const auto& action) {
+ actionData[action->getUniqueName()] = action->dump();
+ });
+
+ std::vector<std::string> groupData;
+ std::for_each(_groups.begin(), _groups.end(),
+ [&groupData](const auto& group) {
+ groupData.push_back(group.getName());
+ });
+
+ json eventData;
+ eventData["groups"] = groupData;
+ eventData["actions"] = actionData;
+
+ return eventData;
+}
+
} // namespace phosphor::fan::control::json