| | |
| | | std::string strEndTime; // 结束时间 |
| | | }; |
| | | |
| | | using AlarmMap = std::unordered_map<int, AlarmInfo>; |
| | | using AlarmInfoMap = std::unordered_map<int, AlarmInfo>; |
| | | using AlarmDataMap = std::unordered_map<int, AlarmData>; |
| | | |
| | | class AlarmManager { |
| | | public: |
| | |
| | | /** |
| | | * 添加报警 |
| | | * @param alarmData 报警数据的结构体 |
| | | * @param alarmEventId 最近插入的 alarm_event_id |
| | | * @return 成功返回true,失败返回false |
| | | */ |
| | | bool addAlarm(const AlarmData& alarmData); |
| | | bool addAlarm(const AlarmData& alarmData, int& alarmEventId); |
| | | |
| | | /** |
| | | * 查询所有报警数据 |
| | |
| | | */ |
| | | std::string getUnitNameById(int deviceId, int unitId); |
| | | |
| | | /** |
| | | * 获取最近插入的 alarm_event_id |
| | | * @return 失败返回-1,成功返回最近插入的 alarm_event_id |
| | | */ |
| | | int getLastInsertId(); |
| | | |
| | | /** |
| | | * 读取报警文件 |
| | | * @param filename 文件名 |
| | |
| | | AlarmManager& operator=(const AlarmManager&) = delete; |
| | | |
| | | BL::Database* m_pDB; |
| | | AlarmMap m_mapAlarm; |
| | | AlarmInfoMap m_mapAlarm; |
| | | AlarmDataMap m_mapCache; |
| | | static std::mutex m_mutex; |
| | | }; |
| | | |