class ugcs::vsm::mavlink::Payload_base¶
Overview¶
Base class for MAVLink message payloads. More…
#include <mavlink.h> class Payload_base: public std::enable_shared_from_this< Payload_base > { public: // typedefs typedef std::shared_ptr<Payload_base> Ptr; typedef std::weak_ptr<Payload_base> Weak_ptr; // methods template <typename... Args> static Ptr Create(Args&&... args); virtual size_t Get_size_v1() const = 0; virtual size_t Get_size_v2() const = 0; Io_buffer::Ptr Get_buffer() const; std::string Dump() const; virtual const char* Get_name() const = 0; virtual MESSAGE_ID_TYPE Get_id() const = 0; virtual uint8_t Get_extra_byte() const = 0; virtual void Reset() = 0; }; // direct descendants template < class TData, internal::Field_descriptor* fields, const char* msg_name, MESSAGE_ID_TYPE msg_id, uint8_t extra_byte > class Payload;
Detailed Documentation¶
Base class for MAVLink message payloads.
Typedefs¶
typedef std::shared_ptr<Payload_base> Ptr
Pointer type.
typedef std::weak_ptr<Payload_base> Weak_ptr
Pointer type.
Methods¶
template <typename... Args> static Ptr Create(Args&&... args)
Create an instance.
virtual size_t Get_size_v1() const = 0
Get size of the message payload without extensions in bytes.
virtual size_t Get_size_v2() const = 0
Get size of the message payload in bytes including all extensions.
Io_buffer::Ptr Get_buffer() const
Get Io_buffer instance which contains current content of the message.
std::string Dump() const
Dump message content in human-readable format into a string.
virtual const char* Get_name() const = 0
Get message name.
virtual MESSAGE_ID_TYPE Get_id() const = 0
Get message id.
virtual uint8_t Get_extra_byte() const = 0
Get extra byte for CRC calculation.
virtual void Reset() = 0
Reset all fields to UgCS default values.