LAPTOP-SNT8I5JK\Boounion
2025-07-28 e51c6d1360f9679dd8e4dd3379ce0db1886badbf
SourceCode/Bond/EAPSimulator/CHsmsActive.h
对比新文件
@@ -0,0 +1,74 @@
#pragma once
#include <string>
#include <vector>
#include <map>
#include <set>
#include "CCollectionEvent.h"
typedef std::function<void(void* pFrom, ACTIVESTATE state)> 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<int>& ids);
   // Enable/Disable Alarm Report
   int hsmsEDAlarmReport(bool bEnable, unsigned int id);
   // Define reports
   int hsmsDefineReports(std::map<unsigned int, std::vector<unsigned int>>& mapReport);
   // Line Event Report
   int hsmsLinkEventReport(std::map<unsigned int, std::vector<unsigned int>>& mapEvent);
   // Configure Spooling
   int hsmsConfigureSpooling(std::map<unsigned int, std::set<unsigned int>>& spoolingConfig);
   // 閫氳繃鐨剅eply鍑芥暟
   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;
};