ModuleDef
describes an IDL module. It inherits from both interfaces Container
and Contained
.
// IDL interface ModuleDef : Container, Contained { };
Contained
Container
describe()
is inherited from Contained
. It returns a structure of type Contained::Description
:
// IDL struct Description { Identifier name; any value; };giving the name and value of the module. The value member is an
any
whose TypeCode
is _tc_ModuleDescription
and whose value is a pointer to a structure of type:
// IDL struct ModuleDescription { Identifier name; RepositoryId id; RepositoryId defined_in; };
Contained::describe()
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, where each returned structure has the following fields:
contained_object
: the object reference, of type Contained
, of one of the objects contained directly in the module or interface
name
: the name of this top level contained object, for example, InterfaceDescription
, ConstantDescription
and so on
value
: a description, of type any
, of this contained object, with the following two members:
TypeCode
of the any
will be the TypeCode
corresponding to the type of this top level object. The value of the
any
will be a pointer to a structure of the relevant type, for example, OperationDescription
, ConstantDescription
, and so on.
Contained::describe() Container::contents()