2 #include "ErrorHandler/Components/qt_rule_engine.h"
4 #include <QtCore/QMetaType>
5 #include <boost/bind/bind.hpp>
7 using namespace novadaq::errorhandler;
9 qt_rule_engine::qt_rule_engine(fhicl::ParameterSet
const& pset, QObject* parent)
11 , engine(pset, boost::bind(&
qt_rule_engine::new_alarm, this, boost::placeholders::_1, boost::placeholders::_2), boost::bind(&
qt_rule_engine::cond_match, this, boost::placeholders::_1))
15 qt_rule_engine::~qt_rule_engine()
19 void qt_rule_engine::new_alarm(std::string
const& rule_name, std::string
const& msg)
21 emit alarm(QString(rule_name.c_str()), QString(msg.c_str()));
24 void qt_rule_engine::cond_match(std::string
const& cond_name)
26 emit match(QString(cond_name.c_str()));
30 qt_rule_engine::cond_names()
const
32 QVector<QString> names;
33 std::vector<std::string>::const_iterator it = engine.cond_names().begin();
34 for (; it != engine.cond_names().end(); ++it)
35 names.push_back(QString(it->c_str()));
40 qt_rule_engine::rule_names()
const
42 QVector<QString> names;
43 std::vector<std::string>::const_iterator it = engine.rule_names().begin();
44 for (; it != engine.rule_names().end(); ++it)
45 names.push_back(QString(it->c_str()));
50 qt_rule_engine::rule_cond_names(QString
const& name)
const
52 std::vector<std::string>
const& std_names = engine.rule_cond_names(name.toUtf8().constData());
54 QVector<QString> names;
56 std::vector<std::string>::const_iterator it = std_names.begin();
57 for (; it != std_names.end(); ++it)
58 names.push_back(QString(it->c_str()));