A ModuleDef
represents an IDL module declaration that can contain constants, typedefs, exceptions, interfaces and other objects that can be defined in IDL modules.
The inherited describe
operation for a ModuleDef
object returns a ModuleDescription
.
module CORBA { interface ModuleDef : Container, Contained { }; struct ModuleDescription { Identifier <name>; RepositoryId <id>; RepositoryId defined_in; VersionSpec <version>; }; };
The describe( )
operation is inherited from Contained
. It returns a structure of type Contained::Description
and provides the <name>
and <value>
of the IDL module:
struct Description { Identifier <name>; any <value>; };
The <value>
member is an Any
whose TypeCode
is a ModuleDescription
and whose value is a pointer to a structure of type:
struct ModuleDescription { Identifier <name>; RepositoryId <id>; RepositoryId defined_in; };
The operation describe_contents( )
is inherited from Container
. It is a combination of the functions Container::contents( )
and Contained::describe( )
and can be used to iterate through the items declared directly in the module.
It returns a sequence of Container::Description
structures. The returned structures each have the fields described in Table 1.
Field | Description |
---|---|
<contained_object> |
An object reference of type Contained to one of the objects contained within the module or interface. |
<name> |
The name of the top-level contained object (such as, InterfaceDescription or ConstantDescription ). |
<value> |
A description of type any of this contained object with a TypeCode and a value. The TypeCode of the any is the same as the type of the top-level object.
The value of the any is a pointer to a structure of the relevant type such as OperationDescription or ConstantDescription . |