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