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