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/attention.cpp b/attn/attention.cpp
index c13bf64..0806ef2 100644
--- a/attn/attention.cpp
+++ b/attn/attention.cpp
@@ -1,21 +1,16 @@
 #include <attention.hpp>
+#include <attn_config.hpp>
 
 namespace attn
 {
 
 /** @brief Main constructor. */
 Attention::Attention(AttentionType i_type, int (*i_handler)(Attention*),
-                     pdbg_target* i_target, bool i_breakpoints) :
+                     pdbg_target* i_target, Config* i_config) :
     iv_type(i_type),
-    iv_handler(i_handler), iv_target(i_target)
+    iv_handler(i_handler), iv_target(i_target), iv_config(i_config)
 
-{
-    // set attention handler configuration flags
-    if (true == i_breakpoints)
-    {
-        iv_flags |= enableBreakpoints;
-    }
-}
+{}
 
 /** @brief Get attention priority */
 int Attention::getPriority() const
@@ -23,16 +18,10 @@
     return iv_type;
 }
 
-/** @brief Get configuration flags */
-uint32_t Attention::getFlags() const
+/* @brief Get config object */
+Config* Attention::getConfig() const
 {
-    return iv_flags;
-}
-
-/** @brief Set configuration flags */
-void Attention::setFlags(uint32_t i_flags)
-{
-    iv_flags = i_flags;
+    return iv_config;
 }
 
 /* @brief Call attention handler function */
@@ -41,7 +30,7 @@
     return iv_handler(this);
 }
 
-/** @brief less than operator */
+/** @brief less than operator, for heap creation */
 bool Attention::operator<(const Attention& right) const
 {
     return (getPriority() < right.getPriority());