chenluhua1980
2026-01-09 6b306b81f8a07c3e36676a0a5c305b3b1ea68c60
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#pragma once
#include <map>
 
 
namespace SERVO {
    class CRecipeList
    {
    public:
        CRecipeList();
        CRecipeList(int unitNo);
        virtual ~CRecipeList();
 
    public:
        int getUnitNo();
        int addRecipePacket(int totalCount,int totalGroup, int currentGroup, const char* pszData, size_t size);
        int addRecipe(int index, short id);
        std::map<int, short>& getIds();
        std::unordered_map<short, std::vector<uint8_t>>& getParamsRawData();
        void reset();
        void reset2();
 
        // 添加参数包
        int addParamsPacket(int totalCount, int totalGroup, int currentGroup,
            short unitId, short recipeId,
            const char* pszData, size_t size);
 
        // ⭐ 新增序列化和反序列化函数
        bool serialize(const std::string& filename) const;
        bool deserialize(const std::string& filename);
 
    private:
        int m_nUnitNo;
        int m_nToatlGroupCount;
        int m_nCurrentGroupCount;
        std::map<int, short> m_ids;
        std::unordered_map<short, std::vector<uint8_t>> m_paramsRawData;
    };
}