A DDS_MemberDescriptor comprises the state of a DDS_DynamicTypeMember. More...
Public Attributes | |
DDS_ObjectName | name |
the 'name' of this type | |
DDS_MemberId | id |
If this member belongs to an aggregated type, this property indicates the member’s ID. More... | |
DDS_DynamicType | type |
This property indicates the type of the member’s value. More... | |
char * | default_value |
This property provides the member’s default value in string form. More... | |
unsigned int | index |
This property indicates the order of definition of this member within its type, relative to the type’s other members. More... | |
DDS_UnionCaseLabelSeq | label |
If the type to which the member belongs is a union, this property indicates the case labels that apply to this member. More... | |
unsigned char | default_label |
For this descriptor to be consistent, this property must be true if this descriptor identifies the default member of a union type or false if not. More... | |
Related Functions | |
(Note that these are not member functions.) | |
DDS_ReturnCode_t | DDS_MemberDescriptor_copy_from (DDS_MemberDescriptor *to, const DDS_MemberDescriptor *from) |
Overwrite the contents of the 'to' descriptor with those of the provided 'from' descriptor. More... | |
unsigned char | DDS_MemberDescriptor_equals (DDS_MemberDescriptor *md, const DDS_MemberDescriptor *other) |
Compare two DDS_TypeDescriptor's. More... | |
unsigned char | DDS_MemberDescriptor_is_consistent (DDS_MemberDescriptor *md) |
Indicates whether the states of all of this descriptor’s properties are consistent. More... | |
A DDS_MemberDescriptor comprises the state of a DDS_DynamicTypeMember.
unsigned char DDS_MemberDescriptor::default_label |
For this descriptor to be consistent, this property must be true if this descriptor identifies the default member of a union type or false if not.
A default union member may have additional explicit labels (indicated in the label property), but these are semantically irrelevant, as the default member would be in effect or not regardless of their presence or absence.
char* DDS_MemberDescriptor::default_value |
This property provides the member’s default value in string form.
A string representation of a data value is considered well formed if it would be a valid IDL literal of the corresponding type with the following qualifications:
A nil or empty string indicates that the member takes the "default default" value for its type. This rule shall always be used when the member is of a type for which IDL provides no syntax to express a literal value (for example, structures or maps) and may be used for any other type.
DDS_MemberId DDS_MemberDescriptor::id |
If this member belongs to an aggregated type, this property indicates the member’s ID.
When a descriptor is used to add a new member to a type, this property may be set to MEMBER_ID_INVALID; in that case, the implementation shall select an ID for the new member that is one more than the current maximum member ID in the type. If the value of this property is not MEMBER_ID_INVALID, it must be set to a value within a legal range.
When a descriptor is retrieved from an existing member, this property shall reflect the actual ID of the member. It shall therefore not be MEMBER_ID_INVALID, and it shall fall within a legal range.
If this member does not belong to an aggregated type, this property must be MEMBER_ID_INVALID, or the descriptor is not consistent.
unsigned int DDS_MemberDescriptor::index |
This property indicates the order of definition of this member within its type, relative to the type’s other members.
The first member shall have index zero, the next index one, and so on.
When a descriptor is used to add a new member to a type, any value greater than the current largest index value in the type shall be taken to indicate that the new member will become the last member, whatever the index; member indices within a type shall not be discontiguous.
Alternatively, if this property is set to an index at which a member already exists, that member and all those after it shall be shifted by a single index value to make room for the new member.
When a descriptor is retrieved from an existing member, this property shall always reflect the actual index at which the member exists.
DDS_UnionCaseLabelSeq DDS_MemberDescriptor::label |
If the type to which the member belongs is a union, this property indicates the case labels that apply to this member.
If default_label is false, it must not be empty. In addition, no two members of the same union can specify the same label value.
If the type to which the member belongs is not a union, this property’s value must be empty to be consistent.
DDS_DynamicType DDS_MemberDescriptor::type |
This property indicates the type of the member’s value.
It must not be nil, and it must indicate a type that can legally type a member according to the Type System Model.