LAPTOP-SNT8I5JK\Boounion
2025-09-19 3896bd8be7e7db15e5e1b9f3c07469ad614c8a74
SourceCode/Bond/Servo/ProcessJob.h
@@ -90,6 +90,7 @@
        explicit CProcessJob(std::string pjId);
        const std::string& id() const noexcept { return m_pjId; }
        void setId(std::string& id);
        const std::string& parentCjId() const noexcept { return m_parentCjId; }
        PJState state() const noexcept { return m_state; }
        StartPolicy startPolicy() const noexcept { return m_startPolicy; }
@@ -121,7 +122,7 @@
        };
        // 返回问题清单(空=通过)
        bool validate(const IResourceView& rv);
        const std::vector<ValidationIssue>& issues();
        const std::vector<ValidationIssue>& issues() const;
        // —— 状态机(带守卫)——
        bool queue();           // NoState -> Queued
@@ -130,7 +131,7 @@
        bool pause();           // InProcess -> Paused
        bool resume();          // Paused -> InProcess
        bool complete();        // InProcess -> Completed
        bool abort();           // Any (未终态) -> Aborted
        bool abort(std::string reason);           // Any (未终态) -> Aborted
        bool fail(std::string reason); // 任意态 -> Failed(记录失败原因)
        // —— 访问器(用于上报/查询)——
@@ -153,9 +154,12 @@
        // 追加一个载具
        void addCarrier(std::string carrierId, std::vector<uint8_t> slots);
        // 设置载具slots和contexts
        bool setCarrierSlotsAndContexts(std::string carrierId, std::vector<uint8_t> slots, std::vector<void*> contexts);
        // 访问器
        const std::vector<CarrierSlotInfo>& carriers() const noexcept { return m_carriers; }
        CarrierSlotInfo* getCarrier(std::string& strId);
        CarrierSlotInfo* getCarrier(const std::string& strId);
        // 判定是否“按载具/卡位”方式
        bool usesCarrierSlots() const noexcept { return !m_carriers.empty(); }