Previous Table of Contents Next


10.5.6.1 Read Interface


   The lookup_id operation is used to lookup an object in a Repository given its RepositoryId. If the Repository does not contain a definition for search_id, a nil object reference is returned. The lookup_id operations always return a nil reference if the value of search_id is IDL:omg.org/CORBA/Object:1.0, or IDL:omg.org/CORBA/ValueBase:1.0, signifying the fact that the implicit base types are not contained in the Interface Repository.

   The get_canonical_typecode operation looks up the TypeCode in the Interface Repository and returns an equivalent TypeCode that includes all repository ids, names, and member_names. If the top level TypeCode does not contain a RepositoryId, such as array and sequence TypeCodes, or TypeCodes from older ORBs, or if it contains a RepositoryId that is not found in the target Repository, then a new TypeCode is constructed by recursively calling get_canonical_typecode on each member TypeCode of the original TypeCode.

   The get_primitive operation returns a reference to a PrimitiveDef (see Section 10.5.14, “PrimitiveDef,? on page 10-28) with the specified kind attribute. All PrimitiveDefs are immutable and are owned by the Repository.

   10.5.6.2 Write Interface

   The five create_<type> operations that create new IR objects defining anonymous types. As these interfaces are not derived from Contained, it is the caller’s responsibility to invoke destroy on the returned object if it is not successfully used in creating a definition that is derived from Contained. Each anonymous type definition must be used in defining exactly one other object.