#pragma once #include #include #include #include #include "CCollectionEvent.h" typedef std::function STATECHANGED; typedef struct _ACTIVEListener { STATECHANGED onStateChanged; } ACTIVEListener; class CHsmsActive { public: CHsmsActive(); ~CHsmsActive(); public: void setListener(ACTIVEListener listener); int init(const char* pszIp, int port); int term(); public: // Select int hsmsSelectRequest(); // Deselect Request int hsmsDeselectRequest(); // ½¨Á¢Í¨Ñ¶(S1F13) int hsmsEstablishCommunications(); // Are You There int hsmsAreYouThere(); // Date time sync int hsmsDatetimeSync(); // terminal display int hsmsTerminalDisplay(BYTE tid, const char* pszText); // Enable/Disable Event Report int hsmsEDEventReport(bool bEnable, std::vector& ids); // Enable/Disable Alarm Report int hsmsEDAlarmReport(bool bEnable, unsigned int id); // Define reports int hsmsDefineReports(std::map>& mapReport); // Line Event Report int hsmsLinkEventReport(std::map>& mapEvent); // Configure Spooling int hsmsConfigureSpooling(std::map>& spoolingConfig); // ͨ¹ýµÄreplyº¯Êý void replyAck(int s, int f, unsigned int systemBytes, BYTE ack, const char* pszAckName); // reply ack0 int replyAck0(IMessage* pMessage); private: ACTIVEListener m_listener; IActive* m_pActive; std::string m_strIp; int m_nPort; unsigned short m_nSessionId; unsigned int m_nSystemByte; };