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