The StructDef interface represents an IDL structure declaration. The interface is used to represent a structure that is stored in the Interface Repository. This interface provides methods for setting and retrieving the structure's list of members.
module CORBA {
struct StructMember {
Identifier <name>;
TypeCode <type>;
IDLType type_def;
};
typedef sequence <StructMember> StructmemberSeq;
interface StructDef : TypedefDef {
attribute StructMemberSeq members;
};
};
The members attribute contains a description of each structure member. The inherited type attribute is a tk_struct TypeCode describing the structure.
For the write interface, setting the members attribute also updates the type attribute. When setting the members attribute, the type_def member of the StructMember structure is ignored.
This operation is inherited from Contained. It returns a structure of type Contained::Description and has the form:
Contained::Description:
struct Description {
DefinitionKind kind;
any <value>;
};
The DefinitionKind of the kind member is dk_struct
Description describe( );
This describes the members of the structure. It returns a structure of type Contained::Description and has the form:
Contained::Description:
struct Description {
DefinitionKind kind;
any <value>;
};
The DefinitionKind of the kind member is dk_struct
Description describe( );