| | |
| | | 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); |
| | |
| | | // 取得指定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); |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | int replyAreYouThere(IMessage* pRecv); |
| | | int replyEstablishCommunications(IMessage* pRecv); |
| | | int replySelectedEquipmentStatusData(IMessage* pRecv); |
| | | int replyStatusVariableNamelistRequest(IMessage* pRecv); // S1F11/S1F12 |
| | | int replyCollectionEventNamelistRequest(IMessage* pRecv); // S1F23/S1F24 |
| | | int replyOnLine(IMessage* pRecv); |
| | | int replyOffLine(IMessage* pRecv); |
| | | int replyEquipmentConstantRequest(IMessage* pRecv); |
| | |
| | | // 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; |
| | | }; |