[Enterprise Extensions only]

CORBA module: Repository Interface

Overview

The Repository interface provides global access to the Interface Repository. As it inherits from Container, it can be used to look up any definition either by the name or by id (RepositoryId).

File name somir.idl
Local-only True
Ancestor interfaces Container Interface
Exceptions CORBA::SystemException
Supported operations Repository::create_array
Repository::create_sequence
Repository::create_string
Repository::create_wstring
Repository::get_primitive
Repository::lookup_id


Intended Usage

The Repository object is a single instance object used to access member objects of the Interface Repository. The Repository object can directly contain constants (ConstantDef objects), type definitions (TypedefDef objects, including StructDef objects, UnionDef objects, EnumDef objects, and AliasDef objects), exceptions (ExceptionDef objects), interfaces (InterfaceDef objects), and modules (ModuleDef objects).

Access to the Repository object is achieved by invoking the ORB operation resolve_initial_references.

IDL syntax

  module CORBA {
     interface Repository:Container {
     // read interface
     Contained lookup_id (in RepositoryId search_id);
     PrimitiveDef get_primitive (in PrimitiveKind kind);
     // write interface
     StringDef create_string (in unsigned long bound);
     WstringDef create_wstring (in unsigned long bound);
     SequenceDef create_sequence(
     in unsigned long bound,
     in IDLType element_type
     );
     ArrayDef create_array (
     in unsigned long length,
     in IDLType element_type
     );
     };
     };