15#ifndef FASTDDS_DDS_XTYPES_DYNAMIC_TYPES__DYNAMICTYPEBUILDER_HPP
16#define FASTDDS_DDS_XTYPES_DYNAMIC_TYPES__DYNAMICTYPEBUILDER_HPP
20#include <fastdds/dds/core/ReturnCode.hpp>
21#include <fastdds/dds/xtypes/dynamic_types/AnnotationDescriptor.hpp>
22#include <fastdds/dds/xtypes/dynamic_types/DynamicTypeMember.hpp>
23#include <fastdds/dds/xtypes/dynamic_types/TypeDescriptor.hpp>
24#include <fastdds/dds/xtypes/dynamic_types/Types.hpp>
25#include <fastdds/fastdds_dll.hpp>
141 FASTDDS_EXPORTED_API
virtual bool equals(
Definition DynamicTypeBuilder.hpp:32
typename traits< DynamicTypeBuilder >::ref_type _ref_type
Definition DynamicTypeBuilder.hpp:35
virtual FASTDDS_EXPORTED_API ReturnCode_t get_member(traits< DynamicTypeMember >::ref_type &member, MemberId id)=0
Returns a member looked for by MemberId.
virtual FASTDDS_EXPORTED_API ReturnCode_t add_member(traits< MemberDescriptor >::ref_type descriptor)=0
Adds a 'member' to this type, where the new 'member' has the meaning defined in the specification of ...
virtual FASTDDS_EXPORTED_API ReturnCode_t apply_annotation_to_member(MemberId member_id, traits< AnnotationDescriptor >::ref_type descriptor)=0
Apply the given annotation to a member of this type.
virtual FASTDDS_EXPORTED_API ReturnCode_t get_member_by_name(traits< DynamicTypeMember >::ref_type &member, const ObjectName &name)=0
Returns a member looked for by name.
virtual ~DynamicTypeBuilder()=default
virtual FASTDDS_EXPORTED_API ReturnCode_t get_all_members_by_name(DynamicTypeMembersByName &member)=0
Returns all members sorted by name.
virtual FASTDDS_EXPORTED_API traits< DynamicType >::ref_type build()=0
Create an immutable DynamicType object containing a snapshot of this builder's current state.
virtual FASTDDS_EXPORTED_API ReturnCode_t get_member_by_index(traits< DynamicTypeMember >::ref_type &member, uint32_t index)=0
This operation returns the member that corresponds to the specified index.
virtual FASTDDS_EXPORTED_API ReturnCode_t get_descriptor(traits< TypeDescriptor >::ref_type &descriptor)=0
Provides a summary of the state of this type overwriting a provided object.
virtual FASTDDS_EXPORTED_API TypeKind get_kind()=0
Returns the TypeKind associated.
virtual FASTDDS_EXPORTED_API ReturnCode_t get_annotation(traits< AnnotationDescriptor >::ref_type &descriptor, uint32_t idx)=0
This operation returns the annotation that corresponds to the specified index.
virtual FASTDDS_EXPORTED_API ReturnCode_t get_all_members(DynamicTypeMembersById &member)=0
Returns all members sorted by MemberId.
DynamicTypeBuilder()=default
virtual FASTDDS_EXPORTED_API uint32_t get_member_count()=0
This operation returns the current number of members.
virtual FASTDDS_EXPORTED_API ObjectName get_name()=0
Returns the fully qualified name of this type.
virtual FASTDDS_EXPORTED_API uint32_t get_annotation_count()=0
This operation returns the current number of annotations to the type.
traits< DynamicTypeBuilder >::ref_type _this()
virtual FASTDDS_EXPORTED_API ReturnCode_t apply_annotation(traits< AnnotationDescriptor >::ref_type descriptor)=0
Apply the given annotation to this type.
virtual FASTDDS_EXPORTED_API bool equals(traits< DynamicType >::ref_type other)=0
Compares current state against a DynamicType reference.
Definition DomainParticipant.hpp:45
uint32_t MemberId
Definition dynamic_language_binding.hpp:122
std::map< MemberId, traits< DynamicTypeMember >::ref_type > DynamicTypeMembersById
Definition DynamicTypeMember.hpp:133
int32_t ReturnCode_t
Definition DDSReturnCode.hpp:59
eprosima::fastcdr::fixed_string< 256 > ObjectName
Definition dynamic_language_binding.hpp:66
std::map< ObjectName, traits< DynamicTypeMember >::ref_type > DynamicTypeMembersByName
Definition DynamicTypeMember.hpp:131
uint8_t TypeKind
Definition dynamic_language_binding.hpp:70
typename ::std::shared_ptr< T > ref_type
Definition type_traits.hpp:29