eis/RICS/public.h

86 lines
1.5 KiB
C
Raw Normal View History

#pragma once
/**
* @file public.h
* @brief
* @author your name (you@domain.com)
* @version 0.1
* @date 2026-02-04
*
* Copyright: Baosight Co. Ltd.
* DO NOT COPY/USE WITHOUT PERMISSION
*
*/
#include "mix_cc/json.h"
#include <chrono>
#include <map>
#include <memory>
#include <string>
#include <vector>
#include <zlib/MemMap.hpp>
using std::map;
using std::string;
struct RuleInfo {
string rule_name;
string eqpid;
string rule_group;
string remark;
string alarm_reason;
string alarm_content;
string pre_condition;
string pre_result;
vector<string> exp_str;
vector<string> tags_item;
vector<string> tags_chinese;
string limit_down;
string limit_up;
string unit;
vector<string> params;
RuleInfo() {}
~RuleInfo() {}
string get_value(int i) const {
switch (i) {
case 0:
return rule_name;
break;
case 1:
return eqpid;
break;
case 2:
return rule_group;
break;
case 3:
return remark;
break;
case 4:
return alarm_reason;
break;
case 5:
return alarm_content;
break;
case 6:
return pre_condition;
case 7:
return pre_result;
break;
default:
break;
}
}
string tags_item_get(int i) const {
if (i < tags_item.size()) {
return tags_item[i];
} else {
return "";
}
}
string tags_chinese_get(int i) const {
if (i < tags_chinese.size()) {
return tags_chinese[i];
} else {
return "";
}
}
};
using CfgRuleInfo = std::map<string, RuleInfo>;