AttributeDef describes an attribute of an interface. It inherits from the Contained interface.
module CORBA {
enum AttributeMode { ATTR_NORMAL, ATTR_READONLY };
interface AttributeDef : Contained {
readonly attribute TypeCode <type>;
attribute IDLType type_def;
attribute AttributeMode <mode>;
};
};
The describe( ) operation is inherited from Contained( ). It returns a structure of type Contained::Description.
//IDL
struct Description {
DefinitionKind <kind>;
any <value>;
}
Where:
<kind>
<value>
Any that contains the AttributeDescription structure:
// IDL
struct attributeDescription {
Identifier name;
RepositoryID id;
RepositoryID defined_in;
VersionSpec version;
TypeCode type;
AttributeDef::AttributeMode mode;
}
This specifies whether the attribute is read/write (READONLY).
attribute AttributeMode mode;
AttributeDef::type specifies the TypeCode of the attribute.
readonly attribute TypeCode <type>;
AttributeDef::type_def describes the type of the attribute. Changing the type_def changes the type attribute.
attribute IDLType type_def;