chenluhua1980
2026-01-06 4d9d8d22e3666076988c30afb4e7c6fe365c19aa
SourceCode/Bond/Servo/HsmsPassive.h
@@ -135,7 +135,10 @@
   // 取消 define report
   bool removeReport(int rptid);
   void clearAllReport();
   int deleteReport(int rptid);
   int addReport(int rptid, const std::vector<unsigned int>& vids);
   int updateReport(int rptid, const std::vector<unsigned int>& vids);
   void clearAllReport(BOOL bSave = FALSE);
   // 从文件中加载CVariable列表
   int loadVarialbles(const char* pszFilepath);
@@ -161,22 +164,26 @@
   // 取得Report列表
   std::vector<SERVO::CReport*>& getReports();
   unsigned int getMaxReportId() const;
   // 从文件中加载CCollectionEvent列表
   int loadCollectionEvents(const char* pszFilepath);
   // 取得CCollectionEvent列表
   std::vector<SERVO::CCollectionEvent*>& getCollectionEvents();
   unsigned int getMaxCollectionEventId() const;
   // 取消/删除所有CollectionEvent
   void clearAllCollectionEvent();
   int deleteCollectionEvent(unsigned short CEID);
   int addCollectionEvent(unsigned int CEID, const char* name, const char* desc, const std::vector<unsigned int>& rptids);
   int updateCollectionEvent(unsigned int CEID, const char* name, const char* desc, const std::vector<unsigned int>& rptids);
   // 取得CCollectionEvent
   SERVO::CCollectionEvent* getEvent(unsigned short CEID);
   // 取得Report
   SERVO::CReport* getReport(int rptid);
   int deleteReport(int rptid);
   void setListener(SECSListener listener);
   unsigned OnCimWork();
@@ -196,8 +203,12 @@
   int requestEventReportSend(unsigned int CEID);
   int requestEventReportSend(const char* pszEventName);
   int requestEventReportSend_CarrierID_Readed();
   int requestEventReportSend_CheckSlotMap();
   int requestEventReportSend_SlotMapVerificationOK();
   int requestEventReportSend_SlotMapVerificationNG();
   int requestEventReportSend_Port_Unload_Ready();
   int requestEventReportSend_Port_Load_Ready();
   int requestEventReportSend_Port_Ready_To_Release();
   int requestEventReportSend_Port_Blocked();
   int requestEventReportSend_PJ_Queued();
   int requestEventReportSend_PJ_Start();
@@ -207,6 +218,10 @@
   int requestEventReportSend_Panel_Start();
   int requestEventReportSend_Panel_End();
   int requestEventReportSend_OCR_PanelID_Read_OK();
   int requestEventReportSend_LoadPortNotAssoc();
   int requestEventReportSend_ProcessDataReport();
   int requestEventReportSend_SubEqpStart();
   int requestEventReportSend_SubEqpEnd();
private:
   void replyAck(int s, int f, unsigned int systemBytes, BYTE ack, const char* pszAckName);
@@ -241,6 +256,7 @@
   std::vector<unsigned int> parseVidList(CString& strNums);
   int writeVariablesToFile(const std::string& filepath);
   int writeReportsToFile(const std::string& filepath);
   int writeCollectionEventsToFile(const std::string& filepath);
private:
   CModel* m_pModel;
@@ -264,6 +280,9 @@
   std::string m_strReportFilepath;
   bool m_bReportUtf8{ false };
   bool m_bReportUtf8Bom{ false };
   std::string m_strCollectionEventFilepath;
   bool m_bCollectionUtf8{ false };
   bool m_bCollectionUtf8Bom{ false };
   BOOL m_bCimWorking;
   HANDLE m_hCimWorkEvent;
   HANDLE m_hCimWorkThreadHandle;
@@ -281,7 +300,13 @@
   // CollectionEvent vector
   std::vector<SERVO::CCollectionEvent*> m_collectionEvents;
   // Spooling Config
   std::map<uint16_t, std::set<uint16_t>> m_spoolingConfig;
};
   // Spooling blacklist: StreamId -> {FunctionId...}
   // In this map means DO NOT spool/cache.
   // Special case: stream 1 is not spooled regardless of config.
   // If a stream key exists with empty set => blacklist ALL functions in that stream.
   std::map<uint16_t, std::set<uint16_t>> m_spoolBlacklistByStream;
   bool m_spoolingEnabled{ true };
private:
   bool shouldSpool(uint8_t streamId, uint8_t functionId) const;
};