![]() |
Overview The Container interface is used to form a containment hierarchy in the Interface Repository. File name somir.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_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.
IDL 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); }; };