15 #ifndef TYPES_DYNAMIC_TYPE_BUILDER_FACTORY_H
16 #define TYPES_DYNAMIC_TYPE_BUILDER_FACTORY_H
18 #include <fastrtps/types/TypesBase.h>
19 #include <fastrtps/types/AnnotationParameterValue.h>
20 #include <fastrtps/types/DynamicTypePtr.h>
29 class AnnotationDescriptor;
30 class DynamicTypeBuilder;
33 class MemberDescriptor;
36 class DynamicType_ptr;
37 class AnnotationParameterValue;
51 bool complete =
true)
const;
62 bool complete =
true)
const;
67 bool complete =
true)
const;
72 bool complete =
true)
const;
77 const std::vector<const MemberDescriptor*> members,
78 bool complete =
true)
const;
83 const std::vector<const MemberDescriptor*> members,
84 bool complete =
true)
const;
89 const std::vector<const MemberDescriptor*> members,
90 bool complete =
true)
const;
95 const std::vector<const MemberDescriptor*> members,
96 bool complete =
true)
const;
101 const std::vector<const MemberDescriptor*> members,
102 bool complete =
true)
const;
107 const std::vector<const MemberDescriptor*> members,
108 bool complete =
true)
const;
118 #ifndef DISABLE_DYNAMIC_MEMORY_CHECK
138 const std::string& name =
"");
182 const std::vector<uint32_t>& bounds);
186 const std::vector<uint32_t>& bounds);
204 const std::string& sName);
208 const std::string& sName);
224 const std::string& name =
"");
230 const std::string& sName);
234 const std::string& sName);
271 bool complete =
true)
const;
276 bool complete =
true)
const;
281 bool complete =
true,
282 bool force =
false)
const;
287 const std::vector<const MemberDescriptor*>* members =
nullptr,
288 bool complete =
true,
289 bool force =
false)
const;
This class represents the union AnnotationParameterValue defined by the user in the IDL file.
Definition: AnnotationParameterValue.h:149
Definition: DynamicTypePtr.h:27
Definition: DynamicTypeBuilderFactory.h:40
RTPS_DllAPI DynamicTypeBuilder * create_custom_builder(const TypeDescriptor *descriptor, const std::string &name="")
RTPS_DllAPI DynamicTypeBuilder * create_alias_builder(DynamicTypeBuilder *base_type, const std::string &sName)
void build_enum_type_code(const TypeDescriptor *descriptor, TypeObject &object, const std::vector< const MemberDescriptor * > members, bool complete=true) const
RTPS_DllAPI DynamicTypeBuilder * create_float128_builder()
RTPS_DllAPI DynamicType_ptr create_float128_type()
RTPS_DllAPI DynamicTypeBuilder * create_int64_builder()
RTPS_DllAPI DynamicTypeBuilder * create_sequence_builder(const DynamicType_ptr type, uint32_t bound=MAX_ELEMENTS_COUNT)
RTPS_DllAPI DynamicType_ptr create_int64_type()
DynamicType_ptr build_type(DynamicType_ptr other)
RTPS_DllAPI DynamicType_ptr create_string_type(uint32_t bound=MAX_STRING_LENGTH)
RTPS_DllAPI DynamicType_ptr create_uint32_type()
RTPS_DllAPI DynamicType_ptr create_float32_type()
RTPS_DllAPI DynamicType_ptr create_wstring_type(uint32_t bound=MAX_STRING_LENGTH)
RTPS_DllAPI void build_type_identifier(const TypeDescriptor *descriptor, TypeIdentifier &identifier, bool complete=true) const
RTPS_DllAPI DynamicTypeBuilder * create_sequence_builder(const DynamicTypeBuilder *element_type, uint32_t bound=MAX_ELEMENTS_COUNT)
RTPS_DllAPI DynamicTypeBuilder * create_union_builder(DynamicTypeBuilder *discriminator_type)
RTPS_DllAPI DynamicTypeBuilder * create_map_builder(DynamicType_ptr key_type, DynamicType_ptr value_type, uint32_t bound=MAX_ELEMENTS_COUNT)
void build_bitset_type_code(const TypeDescriptor *descriptor, TypeObject &object, const std::vector< const MemberDescriptor * > members, bool complete=true) const
DynamicTypeBuilderFactory()
RTPS_DllAPI DynamicType_ptr create_type(const DynamicTypeBuilder *other)
RTPS_DllAPI DynamicTypeBuilder * create_bitmask_builder(uint32_t bound)
RTPS_DllAPI bool is_empty() const
RTPS_DllAPI DynamicTypeBuilder * create_array_builder(const DynamicTypeBuilder *element_type, const std::vector< uint32_t > &bounds)
RTPS_DllAPI DynamicType_ptr create_type(const TypeDescriptor *descriptor, const std::string &name="")
RTPS_DllAPI DynamicType_ptr create_float64_type()
RTPS_DllAPI DynamicType_ptr create_alias_type(DynamicTypeBuilder *base_type, const std::string &sName)
RTPS_DllAPI DynamicTypeBuilder * create_uint16_builder()
RTPS_DllAPI DynamicType_ptr get_primitive_type(TypeKind kind)
RTPS_DllAPI DynamicTypeBuilder * create_alias_builder(DynamicType_ptr base_type, const std::string &sName)
RTPS_DllAPI DynamicTypeBuilder * create_union_builder(DynamicType_ptr discriminator_type)
RTPS_DllAPI DynamicTypeBuilder * create_bitset_builder()
void build_alias_type_code(const TypeDescriptor *descriptor, TypeObject &object, bool complete=true) const
static RTPS_DllAPI ReturnCode_t delete_instance()
RTPS_DllAPI DynamicTypeBuilder * create_int16_builder()
void build_string16_type_code(const TypeDescriptor *descriptor) const
RTPS_DllAPI DynamicTypeBuilder * create_map_builder(DynamicTypeBuilder *key_element_type, DynamicTypeBuilder *element_type, uint32_t bound=MAX_ELEMENTS_COUNT)
RTPS_DllAPI DynamicTypeBuilder * create_uint64_builder()
RTPS_DllAPI DynamicTypeBuilder * create_float32_builder()
RTPS_DllAPI DynamicType_ptr create_int32_type()
RTPS_DllAPI DynamicTypeBuilder * create_string_builder(uint32_t bound=MAX_STRING_LENGTH)
RTPS_DllAPI DynamicType_ptr create_uint64_type()
RTPS_DllAPI DynamicType_ptr create_bool_type()
void build_bitmask_type_code(const TypeDescriptor *descriptor, TypeObject &object, const std::vector< const MemberDescriptor * > members, bool complete=true) const
RTPS_DllAPI DynamicTypeBuilder * create_bool_builder()
RTPS_DllAPI DynamicTypeBuilder * create_enum_builder()
RTPS_DllAPI DynamicTypeBuilder * create_char8_builder()
void build_annotation_type_code(const TypeDescriptor *descriptor, TypeObject &object, const std::vector< const MemberDescriptor * > members, bool complete=true) const
RTPS_DllAPI ReturnCode_t delete_type(DynamicType *type)
RTPS_DllAPI void build_type_object(const TypeDescriptor *descriptor, TypeObject &object, const std::vector< const MemberDescriptor * > *members=nullptr, bool complete=true, bool force=false) const
RTPS_DllAPI DynamicTypeBuilder * create_char16_builder()
RTPS_DllAPI ReturnCode_t delete_builder(DynamicTypeBuilder *builder)
RTPS_DllAPI void build_type_object(const DynamicType_ptr type, TypeObject &object, bool complete=true, bool force=false) const
RTPS_DllAPI DynamicType_ptr create_char8_type()
RTPS_DllAPI DynamicType_ptr create_annotation_primitive(const std::string &name)
RTPS_DllAPI DynamicTypeBuilder * create_byte_builder()
void build_struct_type_code(const TypeDescriptor *descriptor, TypeObject &object, const std::vector< const MemberDescriptor * > members, bool complete=true) const
void build_map_type_code(const TypeDescriptor *descriptor, TypeObject &object, bool complete=true) const
void apply_type_annotations(AppliedAnnotationSeq &annotations, const TypeDescriptor *descriptor) const
void build_sequence_type_code(const TypeDescriptor *descriptor, TypeObject &object, bool complete=true) const
std::vector< DynamicTypeBuilder * > builders_list_
Definition: DynamicTypeBuilderFactory.h:119
void set_annotation_default_value(AnnotationParameterValue &apv, const MemberDescriptor *member) const
RTPS_DllAPI DynamicType_ptr create_int16_type()
RTPS_DllAPI DynamicType_ptr create_alias_type(DynamicType_ptr base_type, const std::string &sName)
RTPS_DllAPI DynamicType_ptr create_uint16_type()
RTPS_DllAPI DynamicTypeBuilder * create_uint32_builder()
std::recursive_mutex mutex_
Definition: DynamicTypeBuilderFactory.h:120
RTPS_DllAPI DynamicTypeBuilder * create_float64_builder()
void add_builder_to_list(DynamicTypeBuilder *pBuilder)
void build_union_type_code(const TypeDescriptor *descriptor, TypeObject &object, const std::vector< const MemberDescriptor * > members, bool complete=true) const
RTPS_DllAPI DynamicTypeBuilder * create_builder_copy(const DynamicTypeBuilder *type)
void build_array_type_code(const TypeDescriptor *descriptor, TypeObject &object, bool complete=true) const
RTPS_DllAPI DynamicTypeBuilder * create_int32_builder()
RTPS_DllAPI DynamicTypeBuilder * create_array_builder(const DynamicType_ptr type, const std::vector< uint32_t > &bounds)
RTPS_DllAPI DynamicTypeBuilder * create_child_struct_builder(DynamicTypeBuilder *parent_type)
~DynamicTypeBuilderFactory()
RTPS_DllAPI DynamicTypeBuilder * create_struct_builder()
RTPS_DllAPI DynamicType_ptr create_byte_type()
RTPS_DllAPI DynamicType_ptr create_char16_type()
static RTPS_DllAPI DynamicTypeBuilderFactory * get_instance()
RTPS_DllAPI DynamicTypeBuilder * create_wstring_builder(uint32_t bound=MAX_STRING_LENGTH)
RTPS_DllAPI void build_type_identifier(const DynamicType_ptr type, TypeIdentifier &identifier, bool complete=true) const
void build_string8_type_code(const TypeDescriptor *descriptor) const
RTPS_DllAPI DynamicType_ptr create_bitset_type(uint32_t bound)
Definition: DynamicTypeBuilder.h:32
Definition: DynamicType.h:38
Definition: MemberDescriptor.h:29
Definition: TypesBase.h:204
Definition: TypeDescriptor.h:29
Definition: TypeIdentifier.h:81
Definition: TypeObject.h:4429
const int32_t MAX_ELEMENTS_COUNT
Definition: TypesBase.h:277
std::vector< AppliedAnnotation > AppliedAnnotationSeq
Definition: AnnotationParameterValue.h:1100
octet TypeKind
Definition: TypesBase.h:115
const int32_t MAX_STRING_LENGTH
Definition: TypesBase.h:278
eProsima namespace.
Definition: LibrarySettingsAttributes.h:23