From 8bdefa465c96a1c16ffb1950b6822117bb5cb091 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期二, 16 九月 2025 15:38:07 +0800
Subject: [PATCH] 1.修复解释JobDataS错位的问题;
---
SourceCode/Bond/Servo/CControlJob.h | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/SourceCode/Bond/Servo/CControlJob.h b/SourceCode/Bond/Servo/CControlJob.h
index a9611a4..3053795 100644
--- a/SourceCode/Bond/Servo/CControlJob.h
+++ b/SourceCode/Bond/Servo/CControlJob.h
@@ -36,6 +36,7 @@
/// CControlJob:Control Job 管理类
class CControlJob {
public:
+ CControlJob();
explicit CControlJob(std::string cjId);
explicit CControlJob(CControlJob& src);
@@ -44,6 +45,7 @@
CJState state() const noexcept { return m_state; }
uint8_t priority() const noexcept { return m_priority; }
void setPriority(uint8_t p) noexcept { m_priority = p; }
+ std::string getStateText();
// —— PJ 列表维护(去重)—— //
bool addPJ(const std::string& pjId); // 已存在则不重复添加
@@ -53,6 +55,7 @@
const std::vector<std::string>& pjIds() const noexcept { return m_pjIds; }
bool setPJs(const std::vector<CProcessJob*>& pjs);
void clearPJs() { m_pjIds.clear(); }
+ const std::vector<CProcessJob*>& getPjs() { return m_pjs; };
// —— 校验 —— //
struct ValidationIssue { uint32_t code; std::string text; };
@@ -65,7 +68,7 @@
const std::function<bool(const std::string&)>& getPjExistsFn,
const std::function<bool(const std::string&)>& canJoinFn
);
- const std::vector<CControlJob::ValidationIssue>& CControlJob::issues();
+ const std::vector<ValidationIssue>& CControlJob::issues();
// —— S14F9 → S14F10 的“应用结果”模型 —— //
struct CreateRequest {
@@ -111,12 +114,18 @@
static void clampString(std::string& s, size_t maxLen);
static bool asciiPrintable(const std::string& s);
+ static constexpr uint32_t CJ_MAGIC = 0x434A5031; // "CJP1"
+ static constexpr uint16_t CJ_VERSION = 0x0001;
+
+ void serialize(std::ostream& os) const;
+ static bool deserialize(std::istream& is, CControlJob& out, std::string* err = nullptr);
+
private:
void markQueued();
void markStart();
void markEnd();
- private:
+ protected:
// —— 标识 & 配置 —— //
std::string m_cjId;
uint8_t m_priority{ 5 }; // 缺省优先级(自定)
--
Gitblit v1.9.3