From d14420e7f85b5fe7289aafe6bef0c053dede3657 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期五, 16 一月 2026 11:20:39 +0800
Subject: [PATCH] 1.修复以下问题: CEID 校验恒通过:ceidDefined 返回 true,PauseEvent ID 不做有效性检查。Host 若下发无效 CEID,将被接受但运行时无法触发暂停,风险难以察觉。 建议的上线前防护 / 改进(无需真机也可先改) 2.软件侧警告id上抛;
---
SourceCode/Bond/Servo/CCollectionEvent.h | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/SourceCode/Bond/Servo/CCollectionEvent.h b/SourceCode/Bond/Servo/CCollectionEvent.h
index 9bdd993..7dfe985 100644
--- a/SourceCode/Bond/Servo/CCollectionEvent.h
+++ b/SourceCode/Bond/Servo/CCollectionEvent.h
@@ -2,22 +2,35 @@
#include "CReport.h"
#include <vector>
-
namespace SERVO {
class CCollectionEvent
{
public:
CCollectionEvent();
+ CCollectionEvent(unsigned int id, const char* pszName, const char* pszDescription, std::vector<unsigned int>& prtids);
virtual ~CCollectionEvent();
public:
unsigned int getEventId();
+ std::string& getName();
+ std::string& getDescription();
+ std::vector<CReport*>& getReports();
+ std::string getReportIdsText();
+ const std::vector<unsigned int>& getReportIds() const { return m_rptids; }
BOOL addReport(CReport* pReport);
BOOL deleteReport(unsigned int nReportId);
CReport* getReport(unsigned int nReportId);
+ /* 如果一个CEID只有一个Report的场景,调用此函数设置或取消 */
+ void setReport(CReport* pReport);
+ unsigned int getFirstReportID();
+ CReport* getFirstReport();
+
private:
unsigned int m_nCEID;
+ std::string m_strName;
+ std::string m_strDescription;
+ std::vector<unsigned int> m_rptids;
std::vector<CReport*> m_reports;
};
-}
+}
\ No newline at end of file
--
Gitblit v1.9.3