CoreDX DDS C++ Reference Manual
Public Member Functions | Protected Member Functions | List of all members
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 unsigned int get_annotation_count ()=0
 Return the number of annotations applied to this type. More...
 
virtual ReturnCode_t get_annotation (class AnnotationDescriptor *descriptor, const unsigned int *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

DDS::DynamicType::DynamicType ( )
protected

Constructor, Copy Constructor, Destructor, Assignment operator

Member Function Documentation

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
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
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
virtual ReturnCode_t DDS::DynamicType::get_annotation ( class AnnotationDescriptor descriptor,
const unsigned int *  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.
virtual unsigned int 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.
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
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.

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
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
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-2017 Twin Oaks Computing, Inc
Castle Rock, CO 80108
All rights reserved.