49 using Ptr = std::unique_ptr<ToolsMessage>;
52 using DataSeq = std::vector<std::uint8_t>;
54 using FieldsList = std::vector<ToolsFieldPtr>;
70 const
char* name() const;
80 QString idAsString() const;
82 qlonglong numericId() const;
102 bool decodeData(const
DataSeq& data);
106 void assignProtMessage(
void* protMsg);
108 DataSeq encodeFramed(ToolsFrame& frame) const;
110 FieldsList transportFields();
111 FieldsList payloadFields();
119 virtual const
char* nameImpl() const = 0;
123 virtual
bool refreshMsgImpl() = 0;
127 virtual qlonglong numericIdImpl() const = 0;
131 virtual QString idAsStringImpl() const;
135 virtual
void resetImpl() = 0;
143 virtual
bool isValidImpl() const = 0;
151 virtual
bool decodeDataImpl(const
DataSeq& data) = 0;
153 virtual
Ptr cloneImpl() const = 0;
155 virtual
void assignProtMessageImpl(
void* protMsg) = 0;
157 virtual
DataSeq encodeFramedImpl(ToolsFrame& frame) const = 0;
159 virtual FieldsList transportFieldsImpl() = 0;
160 virtual FieldsList payloadFieldsImpl() = 0;