/** * @file mq_alarm.h * @brief * @author Cat (null.null.null@qq.com) * @version 0.1 * @date 2021-09-24 * * Copyright: Baosight Co. Ltd. * DO NOT COPY/USE WITHOUT PERMISSION * */ #pragma once #include #include #include #include #include using std::string; namespace utility { /** * @brief 向消息队列发送报警信息,告知前端发生了报警 */ class AlarmPoster { private: MessageICEPrx message_queue_proxy_; std::unique_ptr gb_logger_; public: AlarmPoster(); ~AlarmPoster(); /** * @brief 检查是否报警并刷新上一次报警的时间 * @param alarm_info 报警信息 * @param prev_alarm_time 上一次报警时间 * @return int */ int alarm(const AlarmInfo &alarm_info, std::chrono::system_clock::time_point *prev_alarm_time); /** * @brief 接收 string 直接填写报警 * @param alarm_info My Param doc * @return int */ int alarm(const std::string alarm_info); /** * @brief task 仅发送mq * @param alarm_info My Param doc * @param processType My Param doc * @return int */ int alarm(const AlarmInfo &alarm_info, string processType); /** * @brief 报警通知,添加 remark * @param alarm_info My Param doc * @param prev_alarm_time My Param doc * @param remark 0——播报;1——单次;2——循环 * @return int */ int alarm(const AlarmInfo &alarm_info, std::chrono::system_clock::time_point *prev_alarm_time, string remark); /** * @brief 其他mq消息发送 * @param event_no 定义的事件号 * @param content 消息内容 * @return true * @return false */ bool zmqp_send(int event_no, const string &content); }; }