Overview | The Container interface is used to form a containment hierarchy in the Interface Repository. |
File name | wasir.idl |
Local-only | True |
Ancestor interfaces | IRObject Interface |
Exceptions | CORBA::SystemException |
Supported operations | Container::contents |
Container::create_alias | |
Container::create_constant | |
Container::create_enum | |
Container::create_exception | |
Container::create_interface | |
Container::create_module | |
Container::create_native | |
Container::create_struct | |
Container::create_union | |
Container::describe_contents | |
Container::lookup | |
Container::lookup_name |
Intended Usage
A Container can contain any number of objects derived from the Contained interface. All Containers, except for Repository, are also derived from Contained. The Container interface is not itself instantiated as a means of accessing the Interface Repository. As an ancestor to certain Interface Repository objects, it provides a specific list of operations as noted below. Those Interface Repository objects that inherit (directly or indirectly) the operations defined in Container include: Repository, ModuleDef, and InterfaceDef.
Syntax
module CORBA { typedef sequence ContainedSeq; Interface Container:IRObject { //read interface Contained lookup (in ScopedName search_name); ContainedSeq contents (in DefinitionKind limit_type in boolean exclude_inherited); ContainedSeq lookup_name (in Identifier search_name, in long levels_to_search, in DefinitionKind limit_type, in boolean exclude_inherited); struct Description { Contained contained_object; DefinitionKind kind; any value; }; typedef sequence DescriptionSeq; DescriptionSeq describe_contents (in DefinitionKind limit_type, in boolean exclude_inherited, in long max_returned_objs); //write interface ModuleDef create_module (in RepositoryId id, in Identifier name, in VersionSpec version); ConstantDef create_constant (in RepositoryId Id, in Identifier name, in VersionSpec version, in IDLType type, in any value); StructDef create_struct (in RepositoryId id, in Identifier name, in VersionSpec version, in StructMember Seqmembers); UnionDef create_union (in RepositoryId id, in Identifier name, in VersionSpec version, in IDLType discriminator_type, in UnionMemberSeq members); EnumDef create_enum (in RepositoryId id, in Identifier name, in VersionSpec version, in EnumMemberSeq members); AliasDef create_alias (in Repositoryid id, in Identifier name, in VersionSpec version, in IDLType original_type); InterfaceDef create_interface (in RepositoryId id, in Identifier name, in VersionSpec version, in InterfaceDefSeq base_interfaces); }; };