artdaq_mfextensions  v1_05_01
qt_rule_engine.cpp
1 
2 #include "ErrorHandler/Components/qt_rule_engine.h"
3 
4 #include <boost/bind/bind.hpp>
5 #include <QtCore/QMetaType>
6 
7 using namespace novadaq::errorhandler;
8 
9 qt_rule_engine::qt_rule_engine( fhicl::ParameterSet const & pset
10  , QObject * parent )
11 : QObject( parent )
12 , engine ( pset, boost::bind(&qt_rule_engine::new_alarm, this, boost::placeholders::_1, boost::placeholders::_2)
13  , boost::bind(&qt_rule_engine::cond_match, this, boost::placeholders::_1))
14 {
15 
16 }
17 
18 qt_rule_engine::~qt_rule_engine()
19 {
20 
21 }
22 
23 void qt_rule_engine::new_alarm( std::string const & rule_name
24  , std::string const & msg )
25 {
26  emit alarm( QString(rule_name.c_str()), QString(msg.c_str()) );
27 }
28 
29 void qt_rule_engine::cond_match( std::string const & cond_name )
30 {
31  emit match( QString(cond_name.c_str()) );
32 }
33 
34 QVector<QString>
35  qt_rule_engine::cond_names() const
36 {
37  QVector<QString> names;
38  std::vector<std::string>::const_iterator it = engine.cond_names().begin();
39  for( ; it!=engine.cond_names().end(); ++it)
40  names.push_back( QString(it->c_str()) );
41  return names;
42 }
43 
44 QVector<QString>
45  qt_rule_engine::rule_names() const
46 {
47  QVector<QString> names;
48  std::vector<std::string>::const_iterator it = engine.rule_names().begin();
49  for( ; it!=engine.rule_names().end(); ++it)
50  names.push_back( QString(it->c_str()) );
51  return names;
52 }
53 
54 QVector<QString>
55  qt_rule_engine::rule_cond_names( QString const & name ) const
56 {
57  std::vector<std::string> const & std_names = engine.rule_cond_names( name.toUtf8().constData() );
58 
59  QVector<QString> names;
60 
61  std::vector<std::string>::const_iterator it = std_names.begin();
62  for( ; it!=std_names.end(); ++it)
63  names.push_back( QString(it->c_str()) );
64  return names;
65 }
66 
67 
68 
69 
70 
71 
72 
73 
74 
75 
76 
77