2026-05-09 11:23:45 +08:00
|
|
|
|
#pragma once
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @file eqpalg/eqpalg_icei.h
|
|
|
|
|
|
* @brief Ice接口文件
|
|
|
|
|
|
* @author Cat (null.null.null@qq.com)
|
|
|
|
|
|
* @version 0.1
|
|
|
|
|
|
* @date 2021-09-17
|
|
|
|
|
|
*
|
|
|
|
|
|
* Copyright: Baosight Co. Ltd.
|
|
|
|
|
|
* DO NOT COPY/USE WITHOUT PERMISSION
|
|
|
|
|
|
*
|
|
|
|
|
|
*/
|
|
|
|
|
|
#include <common/L2Event.h>
|
|
|
|
|
|
#include <dao/DbStandardDBAX.h>
|
|
|
|
|
|
#include <eqpalg/algorithm_manager.h>
|
|
|
|
|
|
#include <eqpalg/utility/update_data.h>
|
|
|
|
|
|
#include <proxy/MessageICE.h>
|
|
|
|
|
|
#include <memory>
|
|
|
|
|
|
#include <string>
|
|
|
|
|
|
#include <thread>
|
|
|
|
|
|
#include <utility>
|
|
|
|
|
|
#include <eqpalg/alg_base.h>
|
|
|
|
|
|
#include<eqpalg/utility/alarm_poster.h>
|
|
|
|
|
|
namespace baosight {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief Ice接口类实现,其中包含了对不同电文的调用
|
|
|
|
|
|
*/
|
|
|
|
|
|
class EqpAlgICEI : virtual public MessageICE {
|
|
|
|
|
|
public:
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief Construct a new Eqp Alg I C E I object
|
|
|
|
|
|
*/
|
|
|
|
|
|
EqpAlgICEI();
|
|
|
|
|
|
virtual ~EqpAlgICEI();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 简单数据调用接口
|
|
|
|
|
|
*/
|
|
|
|
|
|
virtual void SendDataShort(::Ice::Int, const ::Ice::ByteSeq &, ::Ice::Int,
|
|
|
|
|
|
const Ice::Current &);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 复杂数据调用接口
|
|
|
|
|
|
*/
|
|
|
|
|
|
virtual void SendDataLong(::Ice::Int, const ::Ice::ByteSeq &, ::Ice::Int,
|
|
|
|
|
|
const ::std::string &, const ::std::string &,
|
|
|
|
|
|
const ::std::string &, const Ice::Current &);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 定时器调用接口
|
|
|
|
|
|
*/
|
|
|
|
|
|
virtual void TimeNotify(::Ice::Int, const ::Ice::ByteSeq &,
|
|
|
|
|
|
const Ice::Current &);
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
2026-05-09 13:30:09 +08:00
|
|
|
|
std::unique_ptr<AlgorithmManager> alg_mgr_;
|
|
|
|
|
|
std::unique_ptr<std::thread> mem_cached_thread_;
|
|
|
|
|
|
std::unique_ptr<LOG> logger_;
|
|
|
|
|
|
bool is_running_;
|
|
|
|
|
|
std::unique_ptr<UpDateData> up_date_data_ptr_;
|
|
|
|
|
|
MessageICEPrx m_proxy2cron;
|
|
|
|
|
|
MessageICEPrx m_proxy2dsm;
|
2026-05-09 11:23:45 +08:00
|
|
|
|
bool is_rule_stat_data_updating_ =
|
2026-05-09 13:30:09 +08:00
|
|
|
|
false;
|
|
|
|
|
|
utility::AlarmPoster alarm_poster_;
|
2026-05-09 11:23:45 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
2026-05-09 13:30:09 +08:00
|
|
|
|
}
|