48 using Ptr = std::unique_ptr<ToolsMessage>;
51 using DataSeq = std::vector<std::uint8_t>;
53 using FieldsList = std::vector<ToolsFieldPtr>;
69 const
char* name() const;
79 QString idAsString() const;
81 qlonglong numericId() const;
101 bool decodeData(const
DataSeq& data);
105 void assignProtMessage(
void* protMsg);
107 DataSeq encodeFramed(ToolsFrame& frame) const;
109 FieldsList transportFields();
110 FieldsList payloadFields();
118 virtual const
char* nameImpl() const = 0;
122 virtual
bool refreshMsgImpl() = 0;
126 virtual qlonglong numericIdImpl() const = 0;
130 virtual QString idAsStringImpl() const;
134 virtual
void resetImpl() = 0;
142 virtual
bool isValidImpl() const = 0;
150 virtual
bool decodeDataImpl(const
DataSeq& data) = 0;
152 virtual
Ptr cloneImpl() const = 0;
154 virtual
void assignProtMessageImpl(
void* protMsg) = 0;
156 virtual
DataSeq encodeFramedImpl(ToolsFrame& frame) const = 0;
158 virtual FieldsList transportFieldsImpl() = 0;
159 virtual FieldsList payloadFieldsImpl() = 0;