CoreDX Data Distribution Service
The High Performance, Small Footprint DDS from Twin Oaks Computing, Inc
DDS::DynamicType Class Referenceabstract

An instance of DynamicType represent a type’s schema: its physical name, kind, member definitions (if any), and so on. More...

Public Member Functions

virtual ReturnCode_t get_descriptor (class TypeDescriptor *descriptor) const =0
 This operation provides a summary of the current state of this type. More...
 
virtual const char * get_name ()=0
 This convenience operation provides the fully qualified name of this type. More...
 
virtual TypeKind get_kind ()=0
 This convenience operation returns the kind of this type (e.g., integer, structure, etc.). More...
 
virtual ReturnCode_t get_member_by_name (class DynamicTypeMember **member, const char *name) const =0
 This operation accesses a member by name. More...
 
virtual ReturnCode_t get_all_members_by_name (DynamicTypeMembersByName *member) const =0
 This operation provides access to the 'members_by_name' map. More...
 
virtual ReturnCode_t get_member (class DynamicTypeMember **member, const MemberId id) const =0
 This operation accesses a member by id. More...
 
virtual ReturnCode_t get_all_members (DynamicTypeMembersById *member) const =0
 This operation provides access to the 'members_by_id' map. More...
 
virtual uint32_t get_annotation_count ()=0
 Return the number of annotations applied to this type. More...
 
virtual ReturnCode_t get_annotation (class AnnotationDescriptor *descriptor, const uint32_t *idx)=0
 Access an annotation at the specified index. On success, the 'descriptor' parameter is set to the annotation. More...
 
virtual unsigned char equals (const class DynamicType *other)=0
 Two types shall be considered equal if and only if all of their respective properties are equal. More...
 

Protected Member Functions

 DynamicType ()
 

Detailed Description

An instance of DynamicType represent a type’s schema: its physical name, kind, member definitions (if any), and so on.

See also
DynamicTypeSupport
DynamicTypeBuilderFactory
DynamicTypeBuilder

Constructor & Destructor Documentation

◆ DynamicType()

DDS::DynamicType::DynamicType ( )
protected

Constructor, Copy Constructor, Destructor, Assignment operator

Member Function Documentation

◆ equals()

virtual unsigned char DDS::DynamicType::equals ( const class DynamicType other)
pure virtual

Two types shall be considered equal if and only if all of their respective properties are equal.

Return values
zeroif not equal
non-zeroif equal

◆ get_all_members()

virtual ReturnCode_t DDS::DynamicType::get_all_members ( DynamicTypeMembersById *  member) const
pure virtual

This operation provides access to the 'members_by_id' map.

Return values
RETCODE_PRECONDITION_NOT_METif the type does not have members
RETCODE_BAD_PARAMETERin the case of an invalid parameter
RETCODE_OKon success

◆ get_all_members_by_name()

virtual ReturnCode_t DDS::DynamicType::get_all_members_by_name ( DynamicTypeMembersByName *  member) const
pure virtual

This operation provides access to the 'members_by_name' map.

Return values
RETCODE_PRECONDITION_NOT_METif the type does not have members
RETCODE_BAD_PARAMETERin the case of an invalid parameter
RETCODE_OKon success

◆ get_annotation()

virtual ReturnCode_t DDS::DynamicType::get_annotation ( class AnnotationDescriptor descriptor,
const uint32_t *  idx 
)
pure virtual

Access an annotation at the specified index. On success, the 'descriptor' parameter is set to the annotation.

Not Yet Supported:
This operation is not yet implemented.

◆ get_annotation_count()

virtual uint32_t DDS::DynamicType::get_annotation_count ( )
pure virtual

Return the number of annotations applied to this type.

Return values
uintthe number of annotations
Not Yet Supported:
This operation is not yet implemented.

◆ get_descriptor()

virtual ReturnCode_t DDS::DynamicType::get_descriptor ( class TypeDescriptor descriptor) const
pure virtual

This operation provides a summary of the current state of this type.

It populates the provided 'descriptor' parameter.

Return values
RETCODE_BAD_PARAMETERif any parameters are invalid
RETCODE_OKon success

◆ get_kind()

virtual TypeKind DDS::DynamicType::get_kind ( )
pure virtual

This convenience operation returns the kind of this type (e.g., integer, structure, etc.).

Its result shall be the kind indicated by the type’s descriptor property.

◆ get_member()

virtual ReturnCode_t DDS::DynamicType::get_member ( class DynamicTypeMember **  member,
const MemberId  id 
) const
pure virtual

This operation accesses a member by id.

Several types are considered to have 'members"

  • structures, unions, enumerations, annotations, and bitsets

On success, the 'member' parameter is set to the member that has a matching member id.

Return values
RETCODE_PRECONDITION_NOT_METif the type does not have members
RETCODE_BAD_PARAMETERin the case of an invalid parameter
RETCODE_ERRORif the member id is not present in the type
RETCODE_OKon success

◆ get_member_by_name()

virtual ReturnCode_t DDS::DynamicType::get_member_by_name ( class DynamicTypeMember **  member,
const char *  name 
) const
pure virtual

This operation accesses a member by name.

Several types are considered to have 'members"

  • structures, unions, enumerations, annotations, and bitsets

On success, the 'member' parameter is set to the named member.

Return values
RETCODE_PRECONDITION_NOT_METif the type does not have members
RETCODE_BAD_PARAMETERin the case of an invalid parameter
RETCODE_ERRORif the named member is not present in the type
RETCODE_OKon success

◆ get_name()

virtual const char* DDS::DynamicType::get_name ( )
pure virtual

This convenience operation provides the fully qualified name of this type.

It is identical to the name string that is a member of the descriptor property.


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