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());