eis/eqpalg/algorithm_manager.h

87 lines
2.0 KiB
C
Raw Normal View History

#pragma once
/**
* @file eqpalg/algorithm_manager.h
* @brief
* @author Cat (null.null.null@qq.com)
* @version 0.1
* @date 2021-09-17
*
* Copyright: Baosight Co. Ltd.
* DO NOT COPY/USE WITHOUT PERMISSION
* changelog:
* 2021922 manager
*/
#include <common/Macro.h>
#include <eqpalg/alg_base.h>
#include <eqpalg/gb_item_memory.h>
#include <eqpalg/threads/manager.h>
#include <eqpalg/utility/item2chinese.hpp>
#include <map>
#include <memory>
#include <stdlib.h>
#include <string>
#include <tuple>
using namespace std;
using namespace baosight;
/**
* @brief
*/
class AlgorithmManager {
public:
/**
* @brief Construct a new Algorithm Manager object
*
*/
AlgorithmManager();
/**
* @brief Destroy the Algorithm Manager:: Algorithm Manager object
*
*/
virtual ~AlgorithmManager();
public:
/**
* @brief
* @param event_no
* @param seq ice调用传递的二进制序列
*/
virtual void dispose(int event_no, const ::Ice::ByteSeq &);
// 缓存数据
int cache_data();
/**
* @brief
*/
int update_rule_start_time(std::string ruleId);
/**
* @brief
* @param ruleId My Param doc
* @return int
*/
int update_rule_modify_time(std::string ruleId);
/**
* @brief trrt表中的记录
* @param ruleId My Param doc
* @return int
*/
int delete_trrt_record(std::string ruleId);
void rule_handelr(std::string data_info);
/**
* @brief Get the thread size object
* @return int
*/
int get_thread_size();
private:
std::unique_ptr<LOG> logger_; ///< logger类
threads::Manager thread_manager_; ///< 任务线程
};