18.1.5.1. TopicDataType¶
-
class TopicDataType¶
Class TopicDataType used to provide the DomainRTPSParticipant with the methods to serialize, deserialize and get the key of a specific data type. The user should created a class that inherits from this one, where Serialize and deserialize methods MUST be implemented. ,
Subclassed by eprosima::fastdds::dds::builtin::TypeLookup_ReplyPubSubType, eprosima::fastdds::dds::builtin::TypeLookup_RequestPubSubType
Public Functions
-
TopicDataType()¶
Constructor.
-
virtual ~TopicDataType()¶
Destructor.
-
virtual bool serialize(void *data, fastrtps::rtps::SerializedPayload_t *payload) = 0¶
Serialize method, it should be implemented by the user, since it is abstract. It is VERY IMPORTANT that the user sets the SerializedPayload length correctly.
- Parameters
data – [in] Pointer to the data
payload – [out] Pointer to the payload
- Returns
True if correct.
-
virtual bool serialize(void *data, fastrtps::rtps::SerializedPayload_t *payload, DataRepresentationId_t data_representation)¶
Serialize method, it should be implemented by the user, since it is abstract. If not implemented, this method will call the serialize method in which the topic data representation is not considered. It is VERY IMPORTANT that the user sets the SerializedPayload length correctly.
- Parameters
data – [in] Pointer to the data
payload – [out] Pointer to the payload
data_representation – [in] Representation that should be used to encode the data into the payload.
- Returns
True if correct.
-
virtual bool deserialize(fastrtps::rtps::SerializedPayload_t *payload, void *data) = 0¶
Deserialize method, it should be implemented by the user, since it is abstract.
- Parameters
payload – [in] Pointer to the payload
data – [out] Pointer to the data
- Returns
True if correct.
-
virtual std::function<uint32_t()> getSerializedSizeProvider(void *data) = 0¶
Returns a function which can be used to calculate the serialized size of the provided data.
- Parameters
data – [in] Pointer to data.
- Returns
Functor which calculates the serialized size of the data.
-
virtual std::function<uint32_t()> getSerializedSizeProvider(void *data, DataRepresentationId_t data_representation)¶
Returns a function which can be used to calculate the serialized size of the provided data.
- Parameters
data – [in] Pointer to data.
data_representation – [in] Representation that should be used for calculating the serialized size.
- Returns
Functor which calculates the serialized size of the data.
-
virtual void *createData() = 0¶
Create a Data Type.
- Returns
Void pointer to the created object.
-
virtual void deleteData(void *data) = 0¶
Remove a previously created object.
- Parameters
data – Pointer to the created Data.
-
virtual bool getKey(void *data, fastrtps::rtps::InstanceHandle_t *ihandle, bool force_md5 = false) = 0¶
Get the key associated with the data.
- Parameters
data – [in] Pointer to the data.
ihandle – [out] Pointer to the Handle.
force_md5 – [in] Force MD5 checking.
- Returns
True if correct.
-
inline void setName(const char *nam)¶
Set topic data type name
- Parameters
nam – Topic data type name
-
inline bool auto_fill_type_object() const¶
Get the type object auto-fill configuration
- Returns
true if the type object should be auto-filled
-
inline void auto_fill_type_object(bool auto_fill_type_object)¶
Set the type object auto-fill configuration
- Parameters
auto_fill_type_object – new value to set
-
inline bool auto_fill_type_information() const¶
Get the type information auto-fill configuration
- Returns
true if the type information should be auto-filled
-
inline void auto_fill_type_information(bool auto_fill_type_information)¶
Set type information auto-fill configuration
- Parameters
auto_fill_type_information – new value to set
-
inline void type_identifier(const TypeIdV1 &id)¶
Set type identifier
- Parameters
id – new value for TypeIdV1
Set type identifier
- Parameters
id – shared pointer to TypeIdV1
-
inline const std::shared_ptr<TypeObjectV1> type_object() const¶
Get the type object
- Returns
-
inline void type_object(const TypeObjectV1 &object)¶
Set type object
- Parameters
object – new value for TypeObjectV1
Set type object
- Parameters
object – shared pointer to TypeObjectV1
-
inline const std::shared_ptr<xtypes::TypeInformation> type_information() const¶
Get the type information
- Returns
TypeInformation
-
inline void type_information(const xtypes::TypeInformation &info)¶
Set type information
- Parameters
info – new value for TypeInformation
Set type information
- Parameters
info – shared pointer to TypeInformation
-
inline virtual bool is_bounded() const¶
Checks if the type is bounded.
-
inline virtual bool is_plain() const¶
Checks if the type is plain when using default encoding.
-
inline virtual bool is_plain(DataRepresentationId_t) const¶
Checks if the type is plain when using a specific encoding.
-
inline virtual bool construct_sample(void *memory) const¶
Construct a sample on a memory location.
- Parameters
memory – Pointer to the memory location where the sample should be constructed.
- Returns
whether this type supports in-place construction or not.
-
TopicDataType()¶