1 #ifndef ERROR_HANDLER_MA_BOOLEAN_COND_H
2 #define ERROR_HANDLER_MA_BOOLEAN_COND_H
4 #include "ErrorHandler/MessageAnalyzer/ma_condition.h"
5 #include "ErrorHandler/MessageAnalyzer/ma_function.h"
6 #include "ErrorHandler/MessageAnalyzer/ma_types.h"
8 #include <boost/any.hpp>
9 #include <boost/shared_ptr.hpp>
14 namespace errorhandler {
17 class ma_boolean_expr;
34 , cond_arg(cond_arg_t(cond_idx_t(NULL, 0), NONE))
47 bool evaluate(ma_domain& value, ma_domain& alarm, ma_domain
const& domain)
const;
53 void insert_cond(cond_idx_t ci)
56 cond_arg.second = NONE;
59 void insert_ext_func(cond_idx_t ci, arg_t arg, std::vector<boost::any>
const& func_args, std::string
const&
function);
61 void insert_compare_op_bool(compare_op_t cop,
bool v)
65 cond_type = FUNCTION_BOOL;
68 void insert_compare_op_double(compare_op_t cop,
double v)
72 cond_type = FUNCTION_DOUBLE;
75 void insert_compare_op_string(compare_op_t cop, std::string
const& v)
79 cond_type = FUNCTION_STRING;
84 cond_type_t cond_type;
100 boost::shared_ptr<ma_function> ext_func;
105 boost::shared_ptr<ma_boolean_expr> expr;
108 typedef std::list<ma_boolean_cond> boolean_conds_t;