eis/eqpalg/utility/alarm_poster.h

75 lines
1.8 KiB
C
Raw Normal View History

/**
* @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 <eqpalg/define/public.h>
#include <eqpalg/gb_logger.h>
#include <glob/ProxyMag.h>
#include <memory>
#include <string>
using std::string;
namespace utility {
/**
* @brief
*/
class AlarmPoster {
private:
MessageICEPrx message_queue_proxy_;
std::unique_ptr<GbLogger> 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 012
* @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);
};
}