19.1.6.1.5. DynamicType

class DynamicType : public std::enable_shared_from_this<DynamicType>

Public Functions

virtual ReturnCode_t get_descriptor(traits<TypeDescriptor>::ref_type &descriptor) = 0

Provides a summary of the state of this type overwriting a provided object (see [standard] 7.5.2.8.7)

Parameters:

descriptor[inout] TypeDescriptor reference where copied the information.

Return values:
  • RETCODE_OK – when the copy was successful.

  • RETCODE_BAD_PARAMETER – when descriptor reference is nil.

Returns:

ReturnCode_t

virtual ObjectName get_name() = 0

Returns the fully qualified name of this type.

Returns:

Type name.

virtual TypeKind get_kind() = 0

Returns the TypeKind associated.

Returns:

TypeKind

virtual ReturnCode_t get_member_by_name(traits<DynamicTypeMember>::ref_type &member, const ObjectName &name) = 0

Returns the member that corresponds to the specified name.

Parameters:
  • member[inout] DynamicTypeMember reference used to return the reference to the member.

  • name[in] Member name of the member being queried.

Return values:
  • RETCODE_OK – when the member was found.

  • RETCODE_BAD_PARAMETER – when the member doesn’t exist.

Returns:

ReturnCode_t

virtual ReturnCode_t get_all_members_by_name(DynamicTypeMembersByName &member) = 0

Returns all members by ObjectName.

Parameters:

member[inout] DynamicTypeMembersByName reference where the information is copied.

Return values:

RETCODE_OK

Returns:

ReturnCode_t

virtual ReturnCode_t get_member(traits<DynamicTypeMember>::ref_type &member, MemberId id) = 0

Returns the member that corresponds to the specified MemberId.

Parameters:
  • member[inout] DynamicTypeMember reference used to return the reference to the member.

  • id[in] MemberId

Return values:
  • RETCODE_OK – when the member was found.

  • RETCODE_BAD_PARAMETER – when the member doesn’t exist.

Returns:

ReturnCode_t

virtual ReturnCode_t get_all_members(DynamicTypeMembersById &member) = 0

Returns all members by MemberId.

Parameters:

member[inout] DynamicTypeMembersById reference where the information is copied.

Return values:

RETCODE_OK

Returns:

ReturnCode_t

virtual uint32_t get_member_count() = 0

This operation returns the current number of members.

Returns:

Current number of members

virtual 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.

Parameters:
  • member[inout] DynamicTypeMember reference used to return the reference to the member.

  • index[in] Index

Return values:
  • RETCODE_OK – when the member was found.

  • RETCODE_BAD_PARAMETER – when the index is out-of-range.

Returns:

ReturnCode_t

virtual uint32_t get_annotation_count() = 0

Returns the number of applied annotations to the type.

Returns:

Number of annotations.

virtual ReturnCode_t get_annotation(traits<AnnotationDescriptor>::ref_type &descriptor, uint32_t idx) = 0

Returns an applied annotation by index.

Parameters:
  • descriptor[inout] AnnotationDescriptor reference where the information is copied.

  • idx[in] Index.

Return values:
  • RETCODE_OK – when the copy was successful.

  • RETCODE_BAD_PARAMETER – when descriptor reference is nil or index is out-of-range.

Returns:

standard ReturnCode_t

virtual uint32_t get_verbatim_text_count() = 0

Returns the number of applied verbatim text to the type.

Returns:

Number of verbatim texts.

virtual ReturnCode_t get_verbatim_text(traits<VerbatimTextDescriptor>::ref_type &descriptor, uint32_t idx) = 0

Returns an applied verbatim text by index.

Parameters:
  • descriptor[inout] VerbatimTextDescriptor reference where the information is copied.

  • idx[in] Index.

Return values:
  • RETCODE_OK – when the copy was successful.

  • RETCODE_BAD_PARAMETER – when descriptor reference is nil or index is out-of-range.

Returns:

standard ReturnCode_t

virtual bool equals(traits<DynamicType>::ref_type other) = 0

State comparison according with the [standard] sections 7.5.2.8.4

Parameters:

other[in] DynamicType reference to compare to

Returns:

bool true on equality