chenluhua1980
2026-01-09 570e812442a64360239f558ae4b55c0d204a5523
SourceCode/Bond/Servo/HsmsPassive.h
@@ -138,7 +138,7 @@
   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();
   void clearAllReport(BOOL bSave = FALSE);
   // 从文件中加载CVariable列表
   int loadVarialbles(const char* pszFilepath);
@@ -150,6 +150,8 @@
   // 取得指定Variable
   SERVO::CVariable* getVariable(int variableId);
   SERVO::CVariable* getVariable(const char* pszName);
   int getCurrentControlState();
   bool isHostCommandAllowed();
   int deleteVariable(int variableId);
   int addVariable(const char* pszName, const char* pszFormat, const char* pszRemark, int& outId);
   int updateVariable(int variableId, const char* pszName, const char* pszFormat, const char* pszRemark);
@@ -158,6 +160,8 @@
   void setVariableValue(const char* pszName, __int64 value);
   void setVariableValue(const char* pszName, const char* value);
   void setVariableValue(const char* pszName, std::vector<SERVO::CVariable>& vars);
   // 执行一段持锁的代码块,用于保证 set+send 的原子性
   void withVariableLock(const std::function<void()>& fn);
   // 从文件中加载CReport列表
   int loadReports(const char* pszFilepath);
@@ -203,8 +207,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();
@@ -214,6 +222,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);
@@ -292,7 +304,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;
};