LAPTOP-SNT8I5JK\Boounion
2025-09-15 c3aa662297c2182de2e7a53d7bf63f4ab6b1adbd
SourceCode/Bond/Servo/ProcessJob.h
@@ -49,8 +49,9 @@
    }
     */
    struct CarrierSlotInfo {
        std::string carrierId;              // CARRIERID
        std::vector<uint8_t> slots;        // SLOTID[]
        std::string carrierId;          // CARRIERID
        std::vector<uint8_t> slots;     // SLOTID[]
        std::vector<void*> contexts;    // Glass
    };
    /// 简单资源视图接口:供 Validate() 查询(由设备端实现者在外部提供)
@@ -94,6 +95,7 @@
        StartPolicy startPolicy() const noexcept { return m_startPolicy; }
        RecipeMethod recipeMethod() const noexcept { return m_recipeMethod; }
        const std::string& recipeSpec() const noexcept { return m_recipeSpec; } // PPID 或 Spec
        std::string getStateText();
        // 绑定父 CJ
        void setParentCjId(std::string cjId);
@@ -119,7 +121,7 @@
        };
        // 返回问题清单(空=通过)
        bool validate(const IResourceView& rv);
        const std::vector<ValidationIssue>& issues();
        const std::vector<ValidationIssue>& issues() const;
        // —— 状态机(带守卫)——
        bool queue();           // NoState -> Queued
@@ -153,6 +155,7 @@
        // 访问器
        const std::vector<CarrierSlotInfo>& carriers() const noexcept { return m_carriers; }
        CarrierSlotInfo* getCarrier(const std::string& strId);
        // 判定是否“按载具/卡位”方式
        bool usesCarrierSlots() const noexcept { return !m_carriers.empty(); }