Enable/disable logic for each attention type
Allow the handler for each attention type to be enabled or
disabled. The default is all attention handlers are enabled.
Signed-off-by: Ben Tyner <ben.tyner@ibm.com>
Change-Id: Ibe2e7848a7064ae164f70aa5ea5bfca486c4036b
diff --git a/attn/attn_monitor.hpp b/attn/attn_monitor.hpp
index 251857b..7b70316 100644
--- a/attn/attn_monitor.hpp
+++ b/attn/attn_monitor.hpp
@@ -2,6 +2,7 @@
#include <gpiod.h>
+#include <attn/attn_config.hpp>
#include <boost/asio/io_service.hpp>
#include <boost/asio/posix/stream_descriptor.hpp>
@@ -22,16 +23,16 @@
* The AttnMonitor constructor will create a new object and start
* the objects associated GPIO listener.
*
- * @param line GPIO line handle
- * @param config configuration of line
- * @param io io service
- * @param i_breakpoints true = breakpoint special attn handling enabled
+ * @param line GPIO line handle
+ * @param config configuration of line
+ * @param io io service
+ * @param i_attnConfig poiner to attention handler configuration object
*/
AttnMonitor(gpiod_line* line, gpiod_line_request_config& config,
- boost::asio::io_service& io, bool i_breakpoints) :
+ boost::asio::io_service& io, Config* i_attnConfig) :
iv_gpioLine(line),
iv_gpioConfig(config), iv_gpioEventDescriptor(io),
- iv_breakpoints(i_breakpoints)
+ iv_config(i_attnConfig)
{
requestGPIOEvent(); // registers the event handler
@@ -59,6 +60,9 @@
/** @brief GPIO event descriptor */
boost::asio::posix::stream_descriptor iv_gpioEventDescriptor;
+ /** @brief attention handler configuration object pointer */
+ Config* iv_config;
+
private: // class methods
/** @brief schedule a gpio event handler */
void scheduleGPIOEvent();
@@ -68,9 +72,6 @@
/** @brief register for a gpio event */
void requestGPIOEvent();
-
- /** @brief enable breakpoint special attn handling */
- bool iv_breakpoints;
};
} // namespace attn