From e51c6d1360f9679dd8e4dd3379ce0db1886badbf Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 28 七月 2025 17:36:57 +0800
Subject: [PATCH] Merge branch 'EAPSimulator' into clh
---
SourceCode/Bond/EAPSimulator/CHsmsActive.h | 74 +++++++++++++++++++++++++++++++++++++
1 files changed, 74 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/EAPSimulator/CHsmsActive.h b/SourceCode/Bond/EAPSimulator/CHsmsActive.h
new file mode 100644
index 0000000..e171c75
--- /dev/null
+++ b/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);
+
+ // 通过的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;
+};
+
--
Gitblit v1.9.3