#pragma once #include 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); private: ACTIVEListener m_listener; IActive* m_pActive; std::string m_strIp; int m_nPort; unsigned short m_nSessionId; unsigned int m_nSystemByte; };