CoreDX Data Distribution Service
The High Performance, Small Footprint DDS from Twin Oaks Computing, Inc
DDS_DynamicTypeBuilder Struct Reference

A DDS_DynamicTypeBuilder object represents the state of a particular type defined according to the Type System. It is used to instantiate concrete DDS_DynamicType objects. More...

Related Functions

(Note that these are not member functions.)

COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicTypeBuilder_get_descriptor (DDS_DynamicTypeBuilder dtb, DDS_TypeDescriptor *descriptor)
 This operation provides a summary of the state of this type. More...
 
COREDX_C_DYNTYPE_API const char * DDS_DynamicTypeBuilder_get_name (DDS_DynamicTypeBuilder dtb)
 This convenience operation provides the fully qualified name of this type. I. More...
 
COREDX_C_DYNTYPE_API DDS_TypeKind DDS_DynamicTypeBuilder_get_kind (DDS_DynamicTypeBuilder dtb)
 This convenience operation indicates the kind of this type (e.g., integer, structure, etc.). More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicTypeBuilder_get_member_by_name (DDS_DynamicTypeBuilder dtb, DDS_DynamicTypeMember *member, const DDS_ObjectName name)
 This operation accesses a member by name. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicTypeBuilder_get_all_members_by_name (DDS_DynamicTypeBuilder dtb, DDS_DynamicTypeMembersByName *member)
 This operation provides access to the 'members_by_name' map. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicTypeBuilder_get_member (DDS_DynamicTypeBuilder dtb, DDS_DynamicTypeMember *member, const DDS_MemberId id)
 This operation accesses a member by id. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicTypeBuilder_get_all_members (DDS_DynamicTypeBuilder dtb, DDS_DynamicTypeMembersById *member)
 This operation provides access to the 'members_by_id' map. More...
 
COREDX_C_DYNTYPE_API unsigned int DDS_DynamicTypeBuilder_get_annotation_count (DDS_DynamicTypeBuilder dtb)
 Return the number of annotations applied to this type. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicTypeBuilder_get_annotation (DDS_DynamicTypeBuilder dtb, DDS_AnnotationDescriptor *descriptor, const unsigned int idx)
 Access an annotation at the specified index. On success, the 'descriptor' parameter is set to the annotation. More...
 
COREDX_C_DYNTYPE_API unsigned char DDS_DynamicTypeBuilder_equals (DDS_DynamicTypeBuilder dtb, const DDS_DynamicType other)
 Two types shall be considered equal if and only if all of their respective properties are equal. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicTypeBuilder_add_member (DDS_DynamicTypeBuilder dtb, const DDS_MemberDescriptor *descriptor)
 Add a member to the type. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicTypeBuilder_apply_annotation (DDS_DynamicTypeBuilder dtb, const DDS_AnnotationDescriptor *descriptor)
 Apply the given annotation to this type. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicTypeBuilder_apply_annotation_to_member (DDS_DynamicTypeBuilder dtb, DDS_MemberId member_id, const DDS_AnnotationDescriptor *descriptor)
 Apply the given annotation to the specified member of the type of dtb. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicTypeBuilder_set_extensibility (DDS_DynamicTypeBuilder dtb, uint32_t ext)
 Assign the specified extensibility to the Builder (struct/union) More...
 
COREDX_C_DYNTYPE_API DDS_DynamicType DDS_DynamicTypeBuilder_build (DDS_DynamicTypeBuilder dtb)
 Create an immutable DDS_DynamicType object defined by the builder's current state. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicTypeBuilder_delete_type (DDS_DynamicTypeBuilder dtb, DDS_DynamicType type)
 Destroy the type information contained in this DDS_DynamicTypeBuilder instance. More...
 
COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicTypeBuilder_apply_flags_to_member (DDS_DynamicTypeBuilder dtb, DDS_MemberId member_id, DDS_MemberFlag flags)
 Modify the flags (KEY, OPTIONAL, etc) of the specified member. More...
 

Detailed Description

A DDS_DynamicTypeBuilder object represents the state of a particular type defined according to the Type System. It is used to instantiate concrete DDS_DynamicType objects.

See also
DDS_DynamicType
DDS_DynamicTypeBuilderFactory
DDS_DynamicTypeSupport

Friends And Related Function Documentation

◆ DDS_DynamicTypeBuilder_apply_annotation_to_member()

COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicTypeBuilder_apply_annotation_to_member ( DDS_DynamicTypeBuilder  dtb,
DDS_MemberId  member_id,
const DDS_AnnotationDescriptor descriptor 
)
related

Apply the given annotation to the specified member of the type of dtb.

Parameter member_id - The id of the member to manipulate. Parameter descriptor - A consistent descriptor of the annotation to apply.

Return values
DDS_RETCODE_BAD_PARAMETERIf this 'descriptor' parameter is not consistent
DDS_RETCODE_BAD_PARAMETERIf member_id does not identify a member in 'dtb'
Note
This operation is implemented only for the builtin annotations '@key', '@must_understand', and '@optional'.

◆ DDS_DynamicTypeBuilder_apply_flags_to_member()

COREDX_C_DYNTYPE_API DDS_ReturnCode_t DDS_DynamicTypeBuilder_apply_flags_to_member ( DDS_DynamicTypeBuilder  dtb,
DDS_MemberId  member_id,
DDS_MemberFlag  flags 
)
related

Modify the flags (KEY, OPTIONAL, etc) of the specified member.

This is a convenience function. The same effect can be achieved by constructing an annotation and applying it to the member. (See DDS_DynamicTypeBuilder_apply_annotation_to_member .) This sets the internal state of the member to the logical OR of the existing state and the provided 'flags' parameter. The valid flags are: DDS_IS_KEY, DDS_IS_OPTIONAL, and DDS_MUST_UNDERSTAND.

Return values
DDS_RETCODE_BAD_PARAMETERin the case of an invalid parameter
DDS_RETCODE_OKon success

© 2009-2020 Twin Oaks Computing, Inc
Castle Rock, CO 80104
All rights reserved.