darker
2025-02-14 32cbd98506d80bc0089b50389f7b187ab2eb012e
SourceCode/Bond/Servo/HsmsPassive.h
@@ -11,6 +11,7 @@
#define COMMAND_NAME_MAX      64
#define COMMAND_VALUE_MAX      64
#define REPORT_NAME_MAX         64
#define VALUE_NAME_MAX         64
#define ER_NOERROR         0
@@ -45,6 +46,15 @@
   char szName[REPORT_NAME_MAX];
   unsigned int id;
} REPORT;
/*
 * Value 数据结构
 */
typedef struct _VALUE
{
   char szName[VALUE_NAME_MAX];
   unsigned int id;
} VALUE;
typedef std::function<void(void* pFrom)> SECSEQOFFLINE;
@@ -83,6 +93,17 @@
   // 取消连接report
   void unlinkEventReport(unsigned int CEID);
   unsigned int getCEID(int RPTID);
   // define Report
   void defineReport(unsigned int VID, unsigned int RPTID);
   // 取消 define report
   void deleteReport(unsigned int RPTID);
   // 取消/删除所有 define report
   void deleteAllReport();
   void setListener(SECSListener listener);
   unsigned OnCimWork();
   void OnTimer(UINT nTimerid);
@@ -94,6 +115,7 @@
   /* request开头的函数为主动发送数据的函数 */
   int requestAreYouThere();
   int requestAlarmReport(int ALCD, int ALID, const char* ALTX);
   int requestEventReportSend(unsigned int DATAID, unsigned int RPTID, const std::vector<std::string>& values);
private:
   void replyAck(int s, int f, unsigned int systemBytes, BYTE ack, const char* pszAckName);
@@ -106,6 +128,7 @@
   int replyEquipmentConstantRequest(IMessage* pRecv);
   int replyEquipmentConstantSend(IMessage* pRecv);
   int replyDatetime(IMessage* pRecv);
   int replyDefineReport(IMessage* pRecv);
   int replyLinkEventReport(IMessage* pRecv);
   int replyEanbleDisableEventReport(IMessage* pRecv);
   int replyCommand(IMessage* pRecv);
@@ -144,5 +167,11 @@
   
   // RPTID to Report
   std::map<unsigned int, REPORT> m_mapReport;
   // VID to RPTID
   std::map<unsigned int, unsigned int> m_mapValueIdToPRTID;
   // VID to Report
   std::map<unsigned int, VALUE> m_mapValue;
};