| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #pragma once
- #include <ProtocolHandler.h>
- #include <ODBC/DBConnectPool.h>
- #include <string>
- #include <vector>
- #include <deque>
- #include <map>
- #include "AlarmDefine.h"
- #include "LNContext.h"
- #include <jsonxx.h>
- #include "MonitorObject.h"
- #define ROW_ARRAY_SIZE 50
- #define MAX_HANDLE_THREAD_NUM 5
- class CTask
- {
- public:
- CTask(LPBYTE, int, SOCKADDR*, void*);
- void join();
- private:
- ~CTask();
- public:
- LPBYTE pdata;
- int nlen;
- SOCKADDR addr;
- };
- typedef struct tagResistance
- {
- char imei[50];
- //TIMESTAMP_STRUCT time;
- char time[24];
- uint8_t index;
- int data0;
- int data1;
- int data2;
- }RESISTANCE, *LPRESISTANCE;
- class CLNHandle
- :public CProtocolHandler
- {
- public:
- CLNHandle();
- virtual ~CLNHandle();
- virtual BOOL HandlePack(LPBYTE pPack, int nPackLen, SOCKADDR* psa, void* pClientContext = NULL) override;
- void SendAllClientSync();
- //랙箇茄珂땐敦관
- void SendSubNotify(string momp);
- protected:
- //쀼릿횅훰관
- BOOL HandleRecvPack(CLNContext* pContext, E_ZL_PROTOCAL protocal, uint32_t packno);
- void HandleMoSync(LPHJDATAHEAD2 lpHead, char* json, int json_len, CLNContext* pContext);
- void HandleMpSync(LPHJDATAHEAD2 lpHead, char* json, int json_len, CLNContext* pContext);
- BOOL HandleSvgSync(LPHJDATAHEAD2 lpHead, char* json, int json_len, CLNContext* pContext);
- BOOL HandleReferSync(LPHJDATAHEAD2 lpHead, char* json, int json_len, CLNContext* pContext);
- BOOL HandleResistData(LPHJDATAHEAD2 lpHead, char* json, int json_len, CLNContext* pContext);
- BOOL HandleTempHumiData(LPHJDATAHEAD2 lpHead, char* json, int json_len, CLNContext* pContext);
- BOOL HandleAlarmSetSync(LPHJDATAHEAD2 lpHead, char* json, int json_len, CLNContext* pContext);
- BOOL HandleMove(LPHJDATAHEAD2 lpHead, char* json, int json_len, CLNContext* pContext);
- BOOL HandleAlarmData(LPHJDATAHEAD2 lpHead, char* json, int json_len, CLNContext* pContext);
- protected:
- void CompareMoSync(jsonxx::Object obj, CMonitorObject *pObject);
- void CompareMpSync(jsonxx::Object obj);
- private:
- std::thread* pThread[MAX_HANDLE_THREAD_NUM];
- bool m_bWork;
- std::mutex m_mtx;
- std::map<ULONG, SOCKADDR_IN> m_mapUser;
- uint8_t *m_dl_sync = nullptr;
- int m_dl_len = 0;
- };
|