#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 #include #include #include #include // #include #include #include #include #include /* Equipment object .h file define here */ #include #include 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: std::unique_ptr alg_mgr_; ///< 算法管理器 std::unique_ptr mem_cached_thread_; ///< 更新共享内存的线程 std::unique_ptr logger_; ///< 本地logger bool is_running_; ///< 程序是否在运行 std::unique_ptr up_date_data_ptr_; ///<更新数据 MessageICEPrx m_proxy2cron; ///< mon 向cron发送 MessageICEPrx m_proxy2dsm; ///< mon 向dsm发送最新的ruleid bool is_rule_stat_data_updating_ = false; ///< update_rule_stat_data 是否更新中 // MessageICEPrx m_proxy2task; ///< mon 向task发送 utility::AlarmPoster alarm_poster_; ///< 发送报警信息 }; } // namespace baosight