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/test/end2end/main.cpp b/test/end2end/main.cpp
index 3232903..fe637f6 100644
--- a/test/end2end/main.cpp
+++ b/test/end2end/main.cpp
@@ -1,18 +1,32 @@
 #include <libpdbg.h>
 
+#include <attn/attn_config.hpp>
 #include <attn/attn_handler.hpp>
+#include <cli.hpp>
 
-// The attnHandler() function is called when the an attention GPIO event is
-// triggered. We call it here directly to simulatea a GPIO event.
-int main()
+/** @brief Attention handler test application */
+int main(int argc, char* argv[])
 {
     int rc = 0; // return code
 
+    // attention handler configuration flags
+    bool vital_enable     = true;
+    bool checkstop_enable = true;
+    bool ti_enable        = true;
+    bool bp_enable        = true;
+
     // initialize pdbg targets
     pdbg_targets_init(nullptr);
 
+    // convert cmd line args to config values
+    parseConfig(argv, argv + argc, vital_enable, checkstop_enable, ti_enable,
+                bp_enable);
+
+    // create attention handler config object
+    attn::Config config(vital_enable, checkstop_enable, ti_enable, bp_enable);
+
     // exercise attention gpio event path
-    attn::attnHandler(false); // false = breakpoint handling disabled
+    attn::attnHandler(&config);
 
     return rc;
 }
diff --git a/test/end2end/meson.build b/test/end2end/meson.build
index f2031d6..e672d98 100644
--- a/test/end2end/meson.build
+++ b/test/end2end/meson.build
@@ -1,7 +1,7 @@
 # create openpower-hw-diags executable for local testing
 executable('openpower-hw-diags-test',
             'main.cpp', 'logging.cpp', 'bp_handler.cpp', 'ti_handler.cpp',
-            'analyzer_main.cpp',
+            'analyzer_main.cpp', '../../cli.cpp',
             link_with : [analyzer, attn],
             include_directories : incdir,
             dependencies : libhei_dep,