Fast DDS  Version 3.1.0
Fast DDS
Loading...
Searching...
No Matches
TopicDataType Class Referenceabstract

Class TopicDataType used to provide the DomainRTPSParticipant with the methods to serialize, deserialize and get the key of a specific data type. More...

#include <TopicDataType.hpp>

Inheritance diagram for TopicDataType:

Public Member Functions

FASTDDS_EXPORTED_API TopicDataType ()=default
 Constructor.
 
virtual FASTDDS_EXPORTED_API ~TopicDataType ()=default
 Destructor.
 
virtual FASTDDS_EXPORTED_API bool serialize (const void *const data, rtps::SerializedPayload_t &payload, eprosima::fastdds::dds::DataRepresentationId_t data_representation)=0
 Serialize method, it should be implemented by the user, since it is abstract.
 
virtual FASTDDS_EXPORTED_API bool deserialize (rtps::SerializedPayload_t &payload, void *data)=0
 Deserialize method, it should be implemented by the user, since it is abstract.
 
virtual FASTDDS_EXPORTED_API uint32_t calculate_serialized_size (const void *const data, eprosima::fastdds::dds::DataRepresentationId_t data_representation)=0
 Calculates the serialized size of the provided data.
 
virtual FASTDDS_EXPORTED_API void * create_data ()=0
 Create a Data Type.
 
virtual FASTDDS_EXPORTED_API void delete_data (void *data)=0
 Remove a previously created object.
 
virtual FASTDDS_EXPORTED_API bool compute_key (rtps::SerializedPayload_t &payload, rtps::InstanceHandle_t &ihandle, bool force_md5=false)=0
 Get the key associated with the data.
 
virtual FASTDDS_EXPORTED_API bool compute_key (const void *const data, rtps::InstanceHandle_t &ihandle, bool force_md5=false)=0
 Get the key associated with the data.
 
FASTDDS_EXPORTED_API void set_name (const std::string &nam)
 Set topic data type name.
 
FASTDDS_EXPORTED_API void set_name (std::string &&nam)
 Set topic data type name.
 
FASTDDS_EXPORTED_API const std::string & get_name () const
 Get topic data type name.
 
FASTDDS_EXPORTED_API const xtypes::TypeIdentifierPairtype_identifiers () const
 Get the type identifiers.
 
virtual FASTDDS_EXPORTED_API bool is_bounded () const
 Checks if the type is bounded.
 
virtual FASTDDS_EXPORTED_API bool is_plain (DataRepresentationId_t) const
 Checks if the type is plain when using a specific encoding.
 
virtual FASTDDS_EXPORTED_API bool construct_sample (void *memory) const
 Construct a sample on a memory location.
 
virtual FASTDDS_EXPORTED_API void register_type_object_representation ()
 Register TypeObject type representation.
 

Public Attributes

uint32_t max_serialized_type_size {0}
 Maximum serialized size of the type in bytes.
 
bool is_compute_key_provided {false}
 Indicates whether the method to obtain the key has been implemented.
 

Protected Attributes

xtypes::TypeIdentifierPair type_identifiers_
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ TopicDataType()

FASTDDS_EXPORTED_API TopicDataType ( )
default

Constructor.

◆ ~TopicDataType()

virtual FASTDDS_EXPORTED_API ~TopicDataType ( )
virtualdefault

Destructor.

Member Function Documentation

◆ calculate_serialized_size()

virtual FASTDDS_EXPORTED_API uint32_t calculate_serialized_size ( const void *const  data,
eprosima::fastdds::dds::DataRepresentationId_t  data_representation 
)
pure virtual

Calculates the serialized size of the provided data.

Parameters
[in]dataPointer to data.
[in]data_representationRepresentation that should be used for calculating the serialized size.
Returns
Serialized size of the data.

Implemented in DynamicPubSubType, StringSTypeDefnPubSubType, StringLTypeDefnPubSubType, PlainCollectionHeaderPubSubType, PlainSequenceSElemDefnPubSubType, PlainSequenceLElemDefnPubSubType, PlainArraySElemDefnPubSubType, PlainArrayLElemDefnPubSubType, PlainMapSTypeDefnPubSubType, PlainMapLTypeDefnPubSubType, StronglyConnectedComponentIdPubSubType, ExtendedTypeDefnPubSubType, DummyPubSubType, ExtendedAnnotationParameterValuePubSubType, AppliedAnnotationParameterPubSubType, AppliedAnnotationPubSubType, AppliedVerbatimAnnotationPubSubType, AppliedBuiltinMemberAnnotationsPubSubType, CommonStructMemberPubSubType, CompleteMemberDetailPubSubType, MinimalMemberDetailPubSubType, CompleteStructMemberPubSubType, MinimalStructMemberPubSubType, AppliedBuiltinTypeAnnotationsPubSubType, MinimalTypeDetailPubSubType, CompleteTypeDetailPubSubType, CompleteStructHeaderPubSubType, MinimalStructHeaderPubSubType, CompleteStructTypePubSubType, MinimalStructTypePubSubType, CommonUnionMemberPubSubType, CompleteUnionMemberPubSubType, MinimalUnionMemberPubSubType, CommonDiscriminatorMemberPubSubType, CompleteDiscriminatorMemberPubSubType, MinimalDiscriminatorMemberPubSubType, CompleteUnionHeaderPubSubType, MinimalUnionHeaderPubSubType, CompleteUnionTypePubSubType, MinimalUnionTypePubSubType, CommonAnnotationParameterPubSubType, CompleteAnnotationParameterPubSubType, MinimalAnnotationParameterPubSubType, CompleteAnnotationHeaderPubSubType, MinimalAnnotationHeaderPubSubType, CompleteAnnotationTypePubSubType, MinimalAnnotationTypePubSubType, CommonAliasBodyPubSubType, CompleteAliasBodyPubSubType, MinimalAliasBodyPubSubType, CompleteAliasHeaderPubSubType, MinimalAliasHeaderPubSubType, CompleteAliasTypePubSubType, MinimalAliasTypePubSubType, CompleteElementDetailPubSubType, CommonCollectionElementPubSubType, CompleteCollectionElementPubSubType, MinimalCollectionElementPubSubType, CommonCollectionHeaderPubSubType, CompleteCollectionHeaderPubSubType, MinimalCollectionHeaderPubSubType, CompleteSequenceTypePubSubType, MinimalSequenceTypePubSubType, CommonArrayHeaderPubSubType, CompleteArrayHeaderPubSubType, MinimalArrayHeaderPubSubType, CompleteArrayTypePubSubType, MinimalArrayTypePubSubType, CompleteMapTypePubSubType, MinimalMapTypePubSubType, CommonEnumeratedLiteralPubSubType, CompleteEnumeratedLiteralPubSubType, MinimalEnumeratedLiteralPubSubType, CommonEnumeratedHeaderPubSubType, CompleteEnumeratedHeaderPubSubType, MinimalEnumeratedHeaderPubSubType, CompleteEnumeratedTypePubSubType, MinimalEnumeratedTypePubSubType, CommonBitflagPubSubType, CompleteBitflagPubSubType, MinimalBitflagPubSubType, CommonBitmaskHeaderPubSubType, CompleteBitmaskTypePubSubType, MinimalBitmaskTypePubSubType, CommonBitfieldPubSubType, CompleteBitfieldPubSubType, MinimalBitfieldPubSubType, CompleteBitsetHeaderPubSubType, MinimalBitsetHeaderPubSubType, CompleteBitsetTypePubSubType, MinimalBitsetTypePubSubType, CompleteExtendedTypePubSubType, MinimalExtendedTypePubSubType, TypeIdentifierTypeObjectPairPubSubType, TypeIdentifierPairPubSubType, TypeIdentfierWithSizePubSubType, TypeIdentifierWithDependenciesPubSubType, and TypeInformationPubSubType.

◆ compute_key() [1/2]

virtual FASTDDS_EXPORTED_API bool compute_key ( const void *const  data,
rtps::InstanceHandle_t ihandle,
bool  force_md5 = false 
)
pure virtual

Get the key associated with the data.

Parameters
[in]dataPointer to the data.
[out]ihandlePointer to the Handle.
[in]force_md5Force MD5 checking.
Returns
True if correct.

Implemented in DynamicPubSubType, StringSTypeDefnPubSubType, StringLTypeDefnPubSubType, PlainCollectionHeaderPubSubType, PlainSequenceSElemDefnPubSubType, PlainSequenceLElemDefnPubSubType, PlainArraySElemDefnPubSubType, PlainArrayLElemDefnPubSubType, PlainMapSTypeDefnPubSubType, PlainMapLTypeDefnPubSubType, StronglyConnectedComponentIdPubSubType, ExtendedTypeDefnPubSubType, DummyPubSubType, ExtendedAnnotationParameterValuePubSubType, AppliedAnnotationParameterPubSubType, AppliedAnnotationPubSubType, AppliedVerbatimAnnotationPubSubType, AppliedBuiltinMemberAnnotationsPubSubType, CommonStructMemberPubSubType, CompleteMemberDetailPubSubType, MinimalMemberDetailPubSubType, CompleteStructMemberPubSubType, MinimalStructMemberPubSubType, AppliedBuiltinTypeAnnotationsPubSubType, MinimalTypeDetailPubSubType, CompleteTypeDetailPubSubType, CompleteStructHeaderPubSubType, MinimalStructHeaderPubSubType, CompleteStructTypePubSubType, MinimalStructTypePubSubType, CommonUnionMemberPubSubType, CompleteUnionMemberPubSubType, MinimalUnionMemberPubSubType, CommonDiscriminatorMemberPubSubType, CompleteDiscriminatorMemberPubSubType, MinimalDiscriminatorMemberPubSubType, CompleteUnionHeaderPubSubType, MinimalUnionHeaderPubSubType, CompleteUnionTypePubSubType, MinimalUnionTypePubSubType, CommonAnnotationParameterPubSubType, CompleteAnnotationParameterPubSubType, MinimalAnnotationParameterPubSubType, CompleteAnnotationHeaderPubSubType, MinimalAnnotationHeaderPubSubType, CompleteAnnotationTypePubSubType, MinimalAnnotationTypePubSubType, CommonAliasBodyPubSubType, CompleteAliasBodyPubSubType, MinimalAliasBodyPubSubType, CompleteAliasHeaderPubSubType, MinimalAliasHeaderPubSubType, CompleteAliasTypePubSubType, MinimalAliasTypePubSubType, CompleteElementDetailPubSubType, CommonCollectionElementPubSubType, CompleteCollectionElementPubSubType, MinimalCollectionElementPubSubType, CommonCollectionHeaderPubSubType, CompleteCollectionHeaderPubSubType, MinimalCollectionHeaderPubSubType, CompleteSequenceTypePubSubType, MinimalSequenceTypePubSubType, CommonArrayHeaderPubSubType, CompleteArrayHeaderPubSubType, MinimalArrayHeaderPubSubType, CompleteArrayTypePubSubType, MinimalArrayTypePubSubType, CompleteMapTypePubSubType, MinimalMapTypePubSubType, CommonEnumeratedLiteralPubSubType, CompleteEnumeratedLiteralPubSubType, MinimalEnumeratedLiteralPubSubType, CommonEnumeratedHeaderPubSubType, CompleteEnumeratedHeaderPubSubType, MinimalEnumeratedHeaderPubSubType, CompleteEnumeratedTypePubSubType, MinimalEnumeratedTypePubSubType, CommonBitflagPubSubType, CompleteBitflagPubSubType, MinimalBitflagPubSubType, CommonBitmaskHeaderPubSubType, CompleteBitmaskTypePubSubType, MinimalBitmaskTypePubSubType, CommonBitfieldPubSubType, CompleteBitfieldPubSubType, MinimalBitfieldPubSubType, CompleteBitsetHeaderPubSubType, MinimalBitsetHeaderPubSubType, CompleteBitsetTypePubSubType, MinimalBitsetTypePubSubType, CompleteExtendedTypePubSubType, MinimalExtendedTypePubSubType, TypeIdentifierTypeObjectPairPubSubType, TypeIdentifierPairPubSubType, TypeIdentfierWithSizePubSubType, TypeIdentifierWithDependenciesPubSubType, and TypeInformationPubSubType.

◆ compute_key() [2/2]

virtual FASTDDS_EXPORTED_API bool compute_key ( rtps::SerializedPayload_t payload,
rtps::InstanceHandle_t ihandle,
bool  force_md5 = false 
)
pure virtual

Get the key associated with the data.

Parameters
[in]payloadPointer to the payload containing the data.
[out]ihandlePointer to the Handle.
[in]force_md5Force MD5 checking.
Returns
True if correct.

Implemented in DynamicPubSubType, StringSTypeDefnPubSubType, StringLTypeDefnPubSubType, PlainCollectionHeaderPubSubType, PlainSequenceSElemDefnPubSubType, PlainSequenceLElemDefnPubSubType, PlainArraySElemDefnPubSubType, PlainArrayLElemDefnPubSubType, PlainMapSTypeDefnPubSubType, PlainMapLTypeDefnPubSubType, StronglyConnectedComponentIdPubSubType, ExtendedTypeDefnPubSubType, DummyPubSubType, ExtendedAnnotationParameterValuePubSubType, AppliedAnnotationParameterPubSubType, AppliedAnnotationPubSubType, AppliedVerbatimAnnotationPubSubType, AppliedBuiltinMemberAnnotationsPubSubType, CommonStructMemberPubSubType, CompleteMemberDetailPubSubType, MinimalMemberDetailPubSubType, CompleteStructMemberPubSubType, MinimalStructMemberPubSubType, AppliedBuiltinTypeAnnotationsPubSubType, MinimalTypeDetailPubSubType, CompleteTypeDetailPubSubType, CompleteStructHeaderPubSubType, MinimalStructHeaderPubSubType, CompleteStructTypePubSubType, MinimalStructTypePubSubType, CommonUnionMemberPubSubType, CompleteUnionMemberPubSubType, MinimalUnionMemberPubSubType, CommonDiscriminatorMemberPubSubType, CompleteDiscriminatorMemberPubSubType, MinimalDiscriminatorMemberPubSubType, CompleteUnionHeaderPubSubType, MinimalUnionHeaderPubSubType, CompleteUnionTypePubSubType, MinimalUnionTypePubSubType, CommonAnnotationParameterPubSubType, CompleteAnnotationParameterPubSubType, MinimalAnnotationParameterPubSubType, CompleteAnnotationHeaderPubSubType, MinimalAnnotationHeaderPubSubType, CompleteAnnotationTypePubSubType, MinimalAnnotationTypePubSubType, CommonAliasBodyPubSubType, CompleteAliasBodyPubSubType, MinimalAliasBodyPubSubType, CompleteAliasHeaderPubSubType, MinimalAliasHeaderPubSubType, CompleteAliasTypePubSubType, MinimalAliasTypePubSubType, CompleteElementDetailPubSubType, CommonCollectionElementPubSubType, CompleteCollectionElementPubSubType, MinimalCollectionElementPubSubType, CommonCollectionHeaderPubSubType, CompleteCollectionHeaderPubSubType, MinimalCollectionHeaderPubSubType, CompleteSequenceTypePubSubType, MinimalSequenceTypePubSubType, CommonArrayHeaderPubSubType, CompleteArrayHeaderPubSubType, MinimalArrayHeaderPubSubType, CompleteArrayTypePubSubType, MinimalArrayTypePubSubType, CompleteMapTypePubSubType, MinimalMapTypePubSubType, CommonEnumeratedLiteralPubSubType, CompleteEnumeratedLiteralPubSubType, MinimalEnumeratedLiteralPubSubType, CommonEnumeratedHeaderPubSubType, CompleteEnumeratedHeaderPubSubType, MinimalEnumeratedHeaderPubSubType, CompleteEnumeratedTypePubSubType, MinimalEnumeratedTypePubSubType, CommonBitflagPubSubType, CompleteBitflagPubSubType, MinimalBitflagPubSubType, CommonBitmaskHeaderPubSubType, CompleteBitmaskTypePubSubType, MinimalBitmaskTypePubSubType, CommonBitfieldPubSubType, CompleteBitfieldPubSubType, MinimalBitfieldPubSubType, CompleteBitsetHeaderPubSubType, MinimalBitsetHeaderPubSubType, CompleteBitsetTypePubSubType, MinimalBitsetTypePubSubType, CompleteExtendedTypePubSubType, MinimalExtendedTypePubSubType, TypeIdentifierTypeObjectPairPubSubType, TypeIdentifierPairPubSubType, TypeIdentfierWithSizePubSubType, TypeIdentifierWithDependenciesPubSubType, and TypeInformationPubSubType.

◆ construct_sample()

virtual FASTDDS_EXPORTED_API bool construct_sample ( void *  memory) const
inlinevirtual

Construct a sample on a memory location.

Parameters
memoryPointer to the memory location where the sample should be constructed.
Returns
whether this type supports in-place construction or not.

◆ create_data()

virtual FASTDDS_EXPORTED_API void * create_data ( )
pure virtual

Create a Data Type.

Returns
Void pointer to the created object.

Implemented in DynamicPubSubType, StringSTypeDefnPubSubType, StringLTypeDefnPubSubType, PlainCollectionHeaderPubSubType, PlainSequenceSElemDefnPubSubType, PlainSequenceLElemDefnPubSubType, PlainArraySElemDefnPubSubType, PlainArrayLElemDefnPubSubType, PlainMapSTypeDefnPubSubType, PlainMapLTypeDefnPubSubType, StronglyConnectedComponentIdPubSubType, ExtendedTypeDefnPubSubType, DummyPubSubType, ExtendedAnnotationParameterValuePubSubType, AppliedAnnotationParameterPubSubType, AppliedAnnotationPubSubType, AppliedVerbatimAnnotationPubSubType, AppliedBuiltinMemberAnnotationsPubSubType, CommonStructMemberPubSubType, CompleteMemberDetailPubSubType, MinimalMemberDetailPubSubType, CompleteStructMemberPubSubType, MinimalStructMemberPubSubType, AppliedBuiltinTypeAnnotationsPubSubType, MinimalTypeDetailPubSubType, CompleteTypeDetailPubSubType, CompleteStructHeaderPubSubType, MinimalStructHeaderPubSubType, CompleteStructTypePubSubType, MinimalStructTypePubSubType, CommonUnionMemberPubSubType, CompleteUnionMemberPubSubType, MinimalUnionMemberPubSubType, CommonDiscriminatorMemberPubSubType, CompleteDiscriminatorMemberPubSubType, MinimalDiscriminatorMemberPubSubType, CompleteUnionHeaderPubSubType, MinimalUnionHeaderPubSubType, CompleteUnionTypePubSubType, MinimalUnionTypePubSubType, CommonAnnotationParameterPubSubType, CompleteAnnotationParameterPubSubType, MinimalAnnotationParameterPubSubType, CompleteAnnotationHeaderPubSubType, MinimalAnnotationHeaderPubSubType, CompleteAnnotationTypePubSubType, MinimalAnnotationTypePubSubType, CommonAliasBodyPubSubType, CompleteAliasBodyPubSubType, MinimalAliasBodyPubSubType, CompleteAliasHeaderPubSubType, MinimalAliasHeaderPubSubType, CompleteAliasTypePubSubType, MinimalAliasTypePubSubType, CompleteElementDetailPubSubType, CommonCollectionElementPubSubType, CompleteCollectionElementPubSubType, MinimalCollectionElementPubSubType, CommonCollectionHeaderPubSubType, CompleteCollectionHeaderPubSubType, MinimalCollectionHeaderPubSubType, CompleteSequenceTypePubSubType, MinimalSequenceTypePubSubType, CommonArrayHeaderPubSubType, CompleteArrayHeaderPubSubType, MinimalArrayHeaderPubSubType, CompleteArrayTypePubSubType, MinimalArrayTypePubSubType, CompleteMapTypePubSubType, MinimalMapTypePubSubType, CommonEnumeratedLiteralPubSubType, CompleteEnumeratedLiteralPubSubType, MinimalEnumeratedLiteralPubSubType, CommonEnumeratedHeaderPubSubType, CompleteEnumeratedHeaderPubSubType, MinimalEnumeratedHeaderPubSubType, CompleteEnumeratedTypePubSubType, MinimalEnumeratedTypePubSubType, CommonBitflagPubSubType, CompleteBitflagPubSubType, MinimalBitflagPubSubType, CommonBitmaskHeaderPubSubType, CompleteBitmaskTypePubSubType, MinimalBitmaskTypePubSubType, CommonBitfieldPubSubType, CompleteBitfieldPubSubType, MinimalBitfieldPubSubType, CompleteBitsetHeaderPubSubType, MinimalBitsetHeaderPubSubType, CompleteBitsetTypePubSubType, MinimalBitsetTypePubSubType, CompleteExtendedTypePubSubType, MinimalExtendedTypePubSubType, TypeIdentifierTypeObjectPairPubSubType, TypeIdentifierPairPubSubType, TypeIdentfierWithSizePubSubType, TypeIdentifierWithDependenciesPubSubType, and TypeInformationPubSubType.

◆ delete_data()

virtual FASTDDS_EXPORTED_API void delete_data ( void *  data)
pure virtual

Remove a previously created object.

Parameters
dataPointer to the created Data.

Implemented in DynamicPubSubType, StringSTypeDefnPubSubType, StringLTypeDefnPubSubType, PlainCollectionHeaderPubSubType, PlainSequenceSElemDefnPubSubType, PlainSequenceLElemDefnPubSubType, PlainArraySElemDefnPubSubType, PlainArrayLElemDefnPubSubType, PlainMapSTypeDefnPubSubType, PlainMapLTypeDefnPubSubType, StronglyConnectedComponentIdPubSubType, ExtendedTypeDefnPubSubType, DummyPubSubType, ExtendedAnnotationParameterValuePubSubType, AppliedAnnotationParameterPubSubType, AppliedAnnotationPubSubType, AppliedVerbatimAnnotationPubSubType, AppliedBuiltinMemberAnnotationsPubSubType, CommonStructMemberPubSubType, CompleteMemberDetailPubSubType, MinimalMemberDetailPubSubType, CompleteStructMemberPubSubType, MinimalStructMemberPubSubType, AppliedBuiltinTypeAnnotationsPubSubType, MinimalTypeDetailPubSubType, CompleteTypeDetailPubSubType, CompleteStructHeaderPubSubType, MinimalStructHeaderPubSubType, CompleteStructTypePubSubType, MinimalStructTypePubSubType, CommonUnionMemberPubSubType, CompleteUnionMemberPubSubType, MinimalUnionMemberPubSubType, CommonDiscriminatorMemberPubSubType, CompleteDiscriminatorMemberPubSubType, MinimalDiscriminatorMemberPubSubType, CompleteUnionHeaderPubSubType, MinimalUnionHeaderPubSubType, CompleteUnionTypePubSubType, MinimalUnionTypePubSubType, CommonAnnotationParameterPubSubType, CompleteAnnotationParameterPubSubType, MinimalAnnotationParameterPubSubType, CompleteAnnotationHeaderPubSubType, MinimalAnnotationHeaderPubSubType, CompleteAnnotationTypePubSubType, MinimalAnnotationTypePubSubType, CommonAliasBodyPubSubType, CompleteAliasBodyPubSubType, MinimalAliasBodyPubSubType, CompleteAliasHeaderPubSubType, MinimalAliasHeaderPubSubType, CompleteAliasTypePubSubType, MinimalAliasTypePubSubType, CompleteElementDetailPubSubType, CommonCollectionElementPubSubType, CompleteCollectionElementPubSubType, MinimalCollectionElementPubSubType, CommonCollectionHeaderPubSubType, CompleteCollectionHeaderPubSubType, MinimalCollectionHeaderPubSubType, CompleteSequenceTypePubSubType, MinimalSequenceTypePubSubType, CommonArrayHeaderPubSubType, CompleteArrayHeaderPubSubType, MinimalArrayHeaderPubSubType, CompleteArrayTypePubSubType, MinimalArrayTypePubSubType, CompleteMapTypePubSubType, MinimalMapTypePubSubType, CommonEnumeratedLiteralPubSubType, CompleteEnumeratedLiteralPubSubType, MinimalEnumeratedLiteralPubSubType, CommonEnumeratedHeaderPubSubType, CompleteEnumeratedHeaderPubSubType, MinimalEnumeratedHeaderPubSubType, CompleteEnumeratedTypePubSubType, MinimalEnumeratedTypePubSubType, CommonBitflagPubSubType, CompleteBitflagPubSubType, MinimalBitflagPubSubType, CommonBitmaskHeaderPubSubType, CompleteBitmaskTypePubSubType, MinimalBitmaskTypePubSubType, CommonBitfieldPubSubType, CompleteBitfieldPubSubType, MinimalBitfieldPubSubType, CompleteBitsetHeaderPubSubType, MinimalBitsetHeaderPubSubType, CompleteBitsetTypePubSubType, MinimalBitsetTypePubSubType, CompleteExtendedTypePubSubType, MinimalExtendedTypePubSubType, TypeIdentifierTypeObjectPairPubSubType, TypeIdentifierPairPubSubType, TypeIdentfierWithSizePubSubType, TypeIdentifierWithDependenciesPubSubType, and TypeInformationPubSubType.

◆ deserialize()

virtual FASTDDS_EXPORTED_API bool deserialize ( rtps::SerializedPayload_t payload,
void *  data 
)
pure virtual

Deserialize method, it should be implemented by the user, since it is abstract.

Parameters
[in]payloadPointer to the payload
[out]dataPointer to the data
Returns
True if correct.

Implemented in DynamicPubSubType, StringSTypeDefnPubSubType, StringLTypeDefnPubSubType, PlainCollectionHeaderPubSubType, PlainSequenceSElemDefnPubSubType, PlainSequenceLElemDefnPubSubType, PlainArraySElemDefnPubSubType, PlainArrayLElemDefnPubSubType, PlainMapSTypeDefnPubSubType, PlainMapLTypeDefnPubSubType, StronglyConnectedComponentIdPubSubType, ExtendedTypeDefnPubSubType, DummyPubSubType, ExtendedAnnotationParameterValuePubSubType, AppliedAnnotationParameterPubSubType, AppliedAnnotationPubSubType, AppliedVerbatimAnnotationPubSubType, AppliedBuiltinMemberAnnotationsPubSubType, CommonStructMemberPubSubType, CompleteMemberDetailPubSubType, MinimalMemberDetailPubSubType, CompleteStructMemberPubSubType, MinimalStructMemberPubSubType, AppliedBuiltinTypeAnnotationsPubSubType, MinimalTypeDetailPubSubType, CompleteTypeDetailPubSubType, CompleteStructHeaderPubSubType, MinimalStructHeaderPubSubType, CompleteStructTypePubSubType, MinimalStructTypePubSubType, CommonUnionMemberPubSubType, CompleteUnionMemberPubSubType, MinimalUnionMemberPubSubType, CommonDiscriminatorMemberPubSubType, CompleteDiscriminatorMemberPubSubType, MinimalDiscriminatorMemberPubSubType, CompleteUnionHeaderPubSubType, MinimalUnionHeaderPubSubType, CompleteUnionTypePubSubType, MinimalUnionTypePubSubType, CommonAnnotationParameterPubSubType, CompleteAnnotationParameterPubSubType, MinimalAnnotationParameterPubSubType, CompleteAnnotationHeaderPubSubType, MinimalAnnotationHeaderPubSubType, CompleteAnnotationTypePubSubType, MinimalAnnotationTypePubSubType, CommonAliasBodyPubSubType, CompleteAliasBodyPubSubType, MinimalAliasBodyPubSubType, CompleteAliasHeaderPubSubType, MinimalAliasHeaderPubSubType, CompleteAliasTypePubSubType, MinimalAliasTypePubSubType, CompleteElementDetailPubSubType, CommonCollectionElementPubSubType, CompleteCollectionElementPubSubType, MinimalCollectionElementPubSubType, CommonCollectionHeaderPubSubType, CompleteCollectionHeaderPubSubType, MinimalCollectionHeaderPubSubType, CompleteSequenceTypePubSubType, MinimalSequenceTypePubSubType, CommonArrayHeaderPubSubType, CompleteArrayHeaderPubSubType, MinimalArrayHeaderPubSubType, CompleteArrayTypePubSubType, MinimalArrayTypePubSubType, CompleteMapTypePubSubType, MinimalMapTypePubSubType, CommonEnumeratedLiteralPubSubType, CompleteEnumeratedLiteralPubSubType, MinimalEnumeratedLiteralPubSubType, CommonEnumeratedHeaderPubSubType, CompleteEnumeratedHeaderPubSubType, MinimalEnumeratedHeaderPubSubType, CompleteEnumeratedTypePubSubType, MinimalEnumeratedTypePubSubType, CommonBitflagPubSubType, CompleteBitflagPubSubType, MinimalBitflagPubSubType, CommonBitmaskHeaderPubSubType, CompleteBitmaskTypePubSubType, MinimalBitmaskTypePubSubType, CommonBitfieldPubSubType, CompleteBitfieldPubSubType, MinimalBitfieldPubSubType, CompleteBitsetHeaderPubSubType, MinimalBitsetHeaderPubSubType, CompleteBitsetTypePubSubType, MinimalBitsetTypePubSubType, CompleteExtendedTypePubSubType, MinimalExtendedTypePubSubType, TypeIdentifierTypeObjectPairPubSubType, TypeIdentifierPairPubSubType, TypeIdentfierWithSizePubSubType, TypeIdentifierWithDependenciesPubSubType, and TypeInformationPubSubType.

◆ get_name()

FASTDDS_EXPORTED_API const std::string & get_name ( ) const
inline

Get topic data type name.

Returns
Topic data type name

◆ is_bounded()

virtual FASTDDS_EXPORTED_API bool is_bounded ( ) const
inlinevirtual

Checks if the type is bounded.

◆ is_plain()

virtual FASTDDS_EXPORTED_API bool is_plain ( DataRepresentationId_t  ) const
inlinevirtual

Checks if the type is plain when using a specific encoding.

◆ register_type_object_representation()

virtual FASTDDS_EXPORTED_API void register_type_object_representation ( )
inlinevirtual

Register TypeObject type representation.

Reimplemented in DynamicPubSubType, StringSTypeDefnPubSubType, StringLTypeDefnPubSubType, PlainCollectionHeaderPubSubType, PlainSequenceSElemDefnPubSubType, PlainSequenceLElemDefnPubSubType, PlainArraySElemDefnPubSubType, PlainArrayLElemDefnPubSubType, PlainMapSTypeDefnPubSubType, PlainMapLTypeDefnPubSubType, StronglyConnectedComponentIdPubSubType, ExtendedTypeDefnPubSubType, DummyPubSubType, ExtendedAnnotationParameterValuePubSubType, AppliedAnnotationParameterPubSubType, AppliedAnnotationPubSubType, AppliedVerbatimAnnotationPubSubType, AppliedBuiltinMemberAnnotationsPubSubType, CommonStructMemberPubSubType, CompleteMemberDetailPubSubType, MinimalMemberDetailPubSubType, CompleteStructMemberPubSubType, MinimalStructMemberPubSubType, AppliedBuiltinTypeAnnotationsPubSubType, MinimalTypeDetailPubSubType, CompleteTypeDetailPubSubType, CompleteStructHeaderPubSubType, MinimalStructHeaderPubSubType, CompleteStructTypePubSubType, MinimalStructTypePubSubType, CommonUnionMemberPubSubType, CompleteUnionMemberPubSubType, MinimalUnionMemberPubSubType, CommonDiscriminatorMemberPubSubType, CompleteDiscriminatorMemberPubSubType, MinimalDiscriminatorMemberPubSubType, CompleteUnionHeaderPubSubType, MinimalUnionHeaderPubSubType, CompleteUnionTypePubSubType, MinimalUnionTypePubSubType, CommonAnnotationParameterPubSubType, CompleteAnnotationParameterPubSubType, MinimalAnnotationParameterPubSubType, CompleteAnnotationHeaderPubSubType, MinimalAnnotationHeaderPubSubType, CompleteAnnotationTypePubSubType, MinimalAnnotationTypePubSubType, CommonAliasBodyPubSubType, CompleteAliasBodyPubSubType, MinimalAliasBodyPubSubType, CompleteAliasHeaderPubSubType, MinimalAliasHeaderPubSubType, CompleteAliasTypePubSubType, MinimalAliasTypePubSubType, CompleteElementDetailPubSubType, CommonCollectionElementPubSubType, CompleteCollectionElementPubSubType, MinimalCollectionElementPubSubType, CommonCollectionHeaderPubSubType, CompleteCollectionHeaderPubSubType, MinimalCollectionHeaderPubSubType, CompleteSequenceTypePubSubType, MinimalSequenceTypePubSubType, CommonArrayHeaderPubSubType, CompleteArrayHeaderPubSubType, MinimalArrayHeaderPubSubType, CompleteArrayTypePubSubType, MinimalArrayTypePubSubType, CompleteMapTypePubSubType, MinimalMapTypePubSubType, CommonEnumeratedLiteralPubSubType, CompleteEnumeratedLiteralPubSubType, MinimalEnumeratedLiteralPubSubType, CommonEnumeratedHeaderPubSubType, CompleteEnumeratedHeaderPubSubType, MinimalEnumeratedHeaderPubSubType, CompleteEnumeratedTypePubSubType, MinimalEnumeratedTypePubSubType, CommonBitflagPubSubType, CompleteBitflagPubSubType, MinimalBitflagPubSubType, CommonBitmaskHeaderPubSubType, CompleteBitmaskTypePubSubType, MinimalBitmaskTypePubSubType, CommonBitfieldPubSubType, CompleteBitfieldPubSubType, MinimalBitfieldPubSubType, CompleteBitsetHeaderPubSubType, MinimalBitsetHeaderPubSubType, CompleteBitsetTypePubSubType, MinimalBitsetTypePubSubType, CompleteExtendedTypePubSubType, MinimalExtendedTypePubSubType, TypeIdentifierTypeObjectPairPubSubType, TypeIdentifierPairPubSubType, TypeIdentfierWithSizePubSubType, TypeIdentifierWithDependenciesPubSubType, and TypeInformationPubSubType.

◆ serialize()

virtual FASTDDS_EXPORTED_API bool serialize ( const void *const  data,
rtps::SerializedPayload_t payload,
eprosima::fastdds::dds::DataRepresentationId_t  data_representation 
)
pure virtual

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
[in]dataPointer to the data
[out]payloadPointer to the payload
[in]data_representationRepresentation that should be used to encode the data into the payload.
Returns
True if correct.

Implemented in StringSTypeDefnPubSubType, StringLTypeDefnPubSubType, PlainCollectionHeaderPubSubType, PlainSequenceSElemDefnPubSubType, PlainSequenceLElemDefnPubSubType, PlainArraySElemDefnPubSubType, PlainArrayLElemDefnPubSubType, PlainMapSTypeDefnPubSubType, PlainMapLTypeDefnPubSubType, StronglyConnectedComponentIdPubSubType, ExtendedTypeDefnPubSubType, DummyPubSubType, ExtendedAnnotationParameterValuePubSubType, AppliedAnnotationParameterPubSubType, AppliedAnnotationPubSubType, AppliedVerbatimAnnotationPubSubType, AppliedBuiltinMemberAnnotationsPubSubType, CommonStructMemberPubSubType, CompleteMemberDetailPubSubType, MinimalMemberDetailPubSubType, CompleteStructMemberPubSubType, MinimalStructMemberPubSubType, AppliedBuiltinTypeAnnotationsPubSubType, MinimalTypeDetailPubSubType, CompleteTypeDetailPubSubType, CompleteStructHeaderPubSubType, MinimalStructHeaderPubSubType, CompleteStructTypePubSubType, MinimalStructTypePubSubType, CommonUnionMemberPubSubType, CompleteUnionMemberPubSubType, MinimalUnionMemberPubSubType, CommonDiscriminatorMemberPubSubType, CompleteDiscriminatorMemberPubSubType, MinimalDiscriminatorMemberPubSubType, CompleteUnionHeaderPubSubType, MinimalUnionHeaderPubSubType, CompleteUnionTypePubSubType, MinimalUnionTypePubSubType, CommonAnnotationParameterPubSubType, CompleteAnnotationParameterPubSubType, MinimalAnnotationParameterPubSubType, CompleteAnnotationHeaderPubSubType, MinimalAnnotationHeaderPubSubType, CompleteAnnotationTypePubSubType, MinimalAnnotationTypePubSubType, CommonAliasBodyPubSubType, CompleteAliasBodyPubSubType, MinimalAliasBodyPubSubType, CompleteAliasHeaderPubSubType, MinimalAliasHeaderPubSubType, CompleteAliasTypePubSubType, MinimalAliasTypePubSubType, CompleteElementDetailPubSubType, CommonCollectionElementPubSubType, CompleteCollectionElementPubSubType, MinimalCollectionElementPubSubType, CommonCollectionHeaderPubSubType, CompleteCollectionHeaderPubSubType, MinimalCollectionHeaderPubSubType, CompleteSequenceTypePubSubType, MinimalSequenceTypePubSubType, CommonArrayHeaderPubSubType, CompleteArrayHeaderPubSubType, MinimalArrayHeaderPubSubType, CompleteArrayTypePubSubType, MinimalArrayTypePubSubType, CompleteMapTypePubSubType, MinimalMapTypePubSubType, CommonEnumeratedLiteralPubSubType, CompleteEnumeratedLiteralPubSubType, MinimalEnumeratedLiteralPubSubType, CommonEnumeratedHeaderPubSubType, CompleteEnumeratedHeaderPubSubType, MinimalEnumeratedHeaderPubSubType, CompleteEnumeratedTypePubSubType, MinimalEnumeratedTypePubSubType, CommonBitflagPubSubType, CompleteBitflagPubSubType, MinimalBitflagPubSubType, CommonBitmaskHeaderPubSubType, CompleteBitmaskTypePubSubType, MinimalBitmaskTypePubSubType, CommonBitfieldPubSubType, CompleteBitfieldPubSubType, MinimalBitfieldPubSubType, CompleteBitsetHeaderPubSubType, MinimalBitsetHeaderPubSubType, CompleteBitsetTypePubSubType, MinimalBitsetTypePubSubType, CompleteExtendedTypePubSubType, MinimalExtendedTypePubSubType, TypeIdentifierTypeObjectPairPubSubType, TypeIdentifierPairPubSubType, TypeIdentfierWithSizePubSubType, TypeIdentifierWithDependenciesPubSubType, TypeInformationPubSubType, and DynamicPubSubType.

◆ set_name() [1/2]

FASTDDS_EXPORTED_API void set_name ( const std::string &  nam)
inline

Set topic data type name.

Parameters
namTopic data type name

◆ set_name() [2/2]

FASTDDS_EXPORTED_API void set_name ( std::string &&  nam)
inline

Set topic data type name.

Parameters
namTopic data type name

◆ type_identifiers()

FASTDDS_EXPORTED_API const xtypes::TypeIdentifierPair & type_identifiers ( ) const
inline

Get the type identifiers.

Returns
xtypes::TypeIdentifierPair

Member Data Documentation

◆ is_compute_key_provided

bool is_compute_key_provided {false}

Indicates whether the method to obtain the key has been implemented.

◆ max_serialized_type_size

uint32_t max_serialized_type_size {0}

Maximum serialized size of the type in bytes.

If the type has unbounded fields, and therefore cannot have a maximum size, use 0.

◆ type_identifiers_

xtypes::TypeIdentifierPair type_identifiers_
protected

The documentation for this class was generated from the following file: