| | |
| | | #include <string> |
| | | #include <list> |
| | | #include "HsmsAction.h" |
| | | #include <functional> |
| | | #include <vector> |
| | | |
| | | |
| | | #define ER_NOERROR 0 |
| | | #define ER_NOTSELECT -1 |
| | | #define ER_BUSY -2 |
| | | #define ER_PARAM_ERROR -3 |
| | | |
| | | |
| | | /* |
| | | * 常量数据结构 |
| | | */ |
| | | typedef struct _EQConstant |
| | | { |
| | | unsigned int id; |
| | | char szValue[256]; |
| | | } EQConstant; |
| | | |
| | | /* |
| | | * Command 数据结构 |
| | | */ |
| | | typedef struct _CommandParameter |
| | | { |
| | | char szName[256]; |
| | | char szValue[256]; |
| | | } CommandParameter; |
| | | |
| | | typedef std::function<void(void* pFrom)> SECSEQOFFLINE; |
| | | typedef std::function<void(void* pFrom, std::vector<EQConstant>&)> SECSEQCONSTANTREQUEST; |
| | | typedef std::function<void(void* pFrom, const char*, std::vector<CommandParameter>&)> SECSCommand; |
| | | typedef struct _SECSListener |
| | | { |
| | | SECSEQOFFLINE onEQOffLine; |
| | | SECSEQOFFLINE onEQOnLine; |
| | | SECSEQCONSTANTREQUEST onEQConstantRequest; |
| | | SECSEQCONSTANTREQUEST onEQConstantSend; |
| | | SECSCommand onCommand; |
| | | } SECSListener; |
| | | |
| | | |
| | | class CModel; |
| | | class CHsmsPassive |
| | |
| | | /* 设置软件版本号 最大长度 20 bytes */ |
| | | void setSoftRev(const char* pszRev); |
| | | |
| | | void setListener(SECSListener listener); |
| | | unsigned OnCimWork(); |
| | | void OnTimer(UINT nTimerid); |
| | | void setActionTimeout(int nSecond); |
| | |
| | | /* reply开头的函数为回复函数 */ |
| | | int replyAreYouThere(IMessage* pRecv); |
| | | int replyEstablishCommunications(IMessage* pRecv); |
| | | int replyOnLine(IMessage* pRecv); |
| | | int replyOffLine(IMessage* pRecv); |
| | | int replyEquipmentConstantRequest(IMessage* pRecv); |
| | | int replyEquipmentConstantSend(IMessage* pRecv); |
| | | int replyDatetime(IMessage* pRecv); |
| | | int replyEanbleDisableEventReport(IMessage* pRecv); |
| | | int replyCommand(IMessage* pRecv); |
| | | int replyEanbleDisableAlarmReport(IMessage* pRecv); |
| | | int replyQueryPPIDList(IMessage* pRecv); |
| | | int replyTerminalDisplay(IMessage* pRecv); |
| | |
| | | std::list<CHsmsAction*> m_listActionSent; |
| | | |
| | | private: |
| | | SECSListener m_listener; |
| | | BOOL m_bCimWorking; |
| | | HANDLE m_hCimWorkEvent; |
| | | HANDLE m_hCimWorkThreadHandle; |