From 72f3802bd7ab24b672c951a287787b5dea253f3b Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期六, 02 八月 2025 10:48:36 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang
---
SourceCode/Bond/EAPSimulator/CHsmsActive.h | 78 +++++++++++++++++++++++++++++++++++++++
1 files changed, 78 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/EAPSimulator/CHsmsActive.h b/SourceCode/Bond/EAPSimulator/CHsmsActive.h
new file mode 100644
index 0000000..7a93948
--- /dev/null
+++ b/SourceCode/Bond/EAPSimulator/CHsmsActive.h
@@ -0,0 +1,78 @@
+#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);
+
+ // 发送或清空缓存的消息
+ int hsmsTransmitSpooledData();
+ int hsmsPurgeSpooledData();
+
+ // 通过的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