control: Add power on/off triggers
Add two new classes of triggers: powerOn and powerOff. They are only
called during the power on and power off state changes, respectively.
They behave the same as the existing init trigger.
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I9d39210843192b9c343c7838c604fcce7c8d3f3d
diff --git a/control/json/event.hpp b/control/json/event.hpp
index 78bc633..e4e01ea 100644
--- a/control/json/event.hpp
+++ b/control/json/event.hpp
@@ -79,6 +79,16 @@
void enable();
/**
+ * @brief Call any power on triggers
+ */
+ void powerOn();
+
+ /**
+ * @brief Call any power off triggers
+ */
+ void powerOff();
+
+ /**
* @brief Clear all groups available for events
*/
static void clearAllGroups()
@@ -147,8 +157,8 @@
/* List of actions for this event */
std::vector<std::unique_ptr<ActionBase>> _actions;
- /* List of trigger enablement functions for this event */
- std::vector<trigger::enableTrigger> _triggers;
+ /* List of trigger type and enablement functions for this event */
+ std::vector<std::tuple<std::string, trigger::enableTrigger>> _triggers;
/* All groups available to be configred on events */
static std::map<configKey, std::unique_ptr<Group>> allGroups;