Move signals to event triggers
Move the generation and initialization of signals to be included in the
available event triggers. The signal trigger consists of subscribing to
a given signal match where when the signal is received and handled, it
causes the event actions to be called.
Tested:
All current event signals are still registered and received
Speed changes occur based on temperature sensor change signals
Change-Id: Iab4ccabb50ad910d5d566bd8c1922109638bd760
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/control/triggers.hpp b/control/triggers.hpp
index 0a2e96a..aad64d4 100644
--- a/control/triggers.hpp
+++ b/control/triggers.hpp
@@ -24,6 +24,18 @@
*/
Trigger timer(TimerConf&& tConf);
+/**
+ * @brief A trigger of a signal for an event
+ * @details Subscribes to the defined signal match.
+ *
+ * @param[in] match - Signal match to subscribe to
+ * @param[in] handler - Handler function for the received signal
+ *
+ * @return Trigger lambda function
+ * A Trigger function that subscribes to a signal
+ */
+Trigger signal(const std::string& match, Handler&& handler);
+
} // namespace trigger
} // namespace control
} // namespace fan