ModuleDef describes an IDL module. It inherits from both interfaces Container and Contained.
// IDL
interface ModuleDef : Container, Contained {
};
ContainedContainer
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()