#pragma once //#include "daq/daq_cmddef.h" #include #include "thirdparty/json.h" #include #include #include "daq/daq_protocol.h" //用户优先级将由规约界定,user_id的映射关系将在获取call_station后进行建立 //注意vector及map的初始化问题 //map插入及多点映射问题 //需不需要考虑隔多长时间获取列表生成map #define YX_MIC 1+1//777 //广播状态遥信点 #define STATUS 0+1//888 //通信状态组态点 using namespace std; struct cstation { int id; string name; string status; }; struct subsystem { int id; string name; }; struct zone { int id; string name_en; string name_zh; }; class CLine5C3 : public CProtocol { public: void ReadIni(); virtual sint32 TxProc(); virtual sint32 RxProc(); virtual void Init(S_PROTOCOLCFG* pcfg); int postappid(string authName, int userNum); int posttokenid(string appid, int timeKey); int getcall_stations(); int getsubsystems(); int getzones(); // int getall_zones(); int post_startmic(int userid, vector stations, vector zones); int post_stopmic(int userid); void Put_AYx(uint16 Rtuno, uint16 YxNo, uint8 YxValue); sint32 Get_rtuno(); sint32 Get_CmdNum(); sint32 Get_ACmd(sint32 rtuno, S_RAWCMD* cmd); sint32 Del_ACmd(sint32 rtuno); int Get_AreaNum(); int Get_StationNum(); string Get_authName(); int Get_userNum(); string Get_appid(); string Get_tokenid(); int callstationid(uint8 user); vector stationid(vector sta); bool rxflag; bool txflag; bool appid_flag; bool token_flag; bool zone_flag; bool cmd_flag; int appid_lasttime; int token_lasttime; int zone_lasttime; bool startmic_flag; bool stopmic_flag; protected: vector call_stations; vector subsystems; vector zones; map map_user; map map_station; private: string server_urls; string authName; int userNum; string token_header; string app_id; string token_id; int AreaNum; int StationNum; };