50 using Ptr = std::unique_ptr<ToolsMessage>;
53 using DataSeq = std::vector<std::uint8_t>;
55 using FieldsList = std::vector<ToolsFieldPtr>;
71 const
char* name() const;
81 QString idAsString() const;
83 qlonglong numericId() const;
103 bool decodeData(const
DataSeq& data);
107 void assignProtMessage(
void* protMsg);
109 DataSeq encodeFramed(ToolsFrame& frame) const;
111 FieldsList transportFields();
112 FieldsList payloadFields();
120 virtual const
char* nameImpl() const = 0;
124 virtual
bool refreshMsgImpl() = 0;
128 virtual qlonglong numericIdImpl() const = 0;
132 virtual QString idAsStringImpl() const;
136 virtual
void resetImpl() = 0;
144 virtual
bool isValidImpl() const = 0;
152 virtual
bool decodeDataImpl(const
DataSeq& data) = 0;
154 virtual
Ptr cloneImpl() const = 0;
156 virtual
void assignProtMessageImpl(
void* protMsg) = 0;
158 virtual
DataSeq encodeFramedImpl(ToolsFrame& frame) const = 0;
160 virtual FieldsList transportFieldsImpl() = 0;
161 virtual FieldsList payloadFieldsImpl() = 0;