#ifndef MODULE_AREA_H #define MODULE_AREA_H /** * @brief 与区域相关的业务模块总接口 * @author 戴月腾 * @date 2018-08-25 */ #include"area.h" #include"module_const.h" //#include"module_web.h" class module_area:public i_thread, public singleton_base { private: friend class singleton_base; module_area() { } public: void on_hover(uint64_t card_id,std::shared_ptr&c,double speed,uint64_t type); void on_enter(uint64_t card_id,std::shared_ptr&c,double speed,uint64_t type); void on_leave(uint64_t card_id,std::shared_ptr&c,double speed,uint64_t type); /** * @brief 读取数据库中的告警,初始化告警列表 */ void init() {} /** * @brief web前端有用户登录时,反馈给web所有信息 */ std::string response_login() { // std::vector> arr; // get_all_events(arr); // if(!arr.empty())//发送给web端 // { // return tool_json::evs_to_json(arr); // } // return ""; } private: /** * @brief 线程函数 */ void run() { // std::vector> arr; // get_all_events(arr); // if(!arr.empty())//发送给web端 // { // swsClientMgr.send(JSON_CMD_VALUE_PUSH, tool_json::evs_to_json(arr)); // } } /** * @brief 获取所有的告警事件 * @param out_data */ void get_all_events(std::vector>& arr) { { std::lock_guard lock(_mutex); auto it_map = _map.begin(); for(;it_map!=_map.end();++it_map) { arr.push_back(it_map->second); if(ES_DEAL_HELP== it_map->second->m_status)//删除掉已经处理的 { _map.erase(it_map--); } } } } std::map> _map; }; #endif // MODULE_AREA_H