[Enterprise Extensions only]

ImplRepository::find_impldef

Overview Retrieves an ImplementationDef from the Implementation Repository, by server id.
Original class CORBA::ImplRepository
Exceptions CORBA::SystemException


Intended Usage

This method is used to retrieve an ImplementationDef object from the Implementation Repository, using the server id as a key. This method (or the find_impldef_by_alias method) is intended to be used by a server application to retrieve its own ImplementationDef object from the Implementation Repository; a server application then passes this ImplementationDef object to the BOA::impl_is_ready and BOA::deactivate_impl methods.

A CORBA::SystemException is thrown if the Implementation Repository cannot be accessed (for instance, due to a configuration error), if the input server id is NULL or is not in the correct format, or if the specified server id cannot be found in the Implementation Repository.

Note: This is an IBM-defined operation, which extends the CORBA 2.0 specifications provided by the OMG.

IDL Syntax

  CORBA::ImplementationDef* find_impldef(const char * ImplId);

Input parameters

ImplId
The server id of the ImplementationDef to be retrieved. A CORBA::SystemException will be thrown if this string is NULL or is not in the proper format of an Implementation Repository UUID (as created by the ImplementationDef constructor).

Return values

CORBA::ImplementationDef*
The CORBA::ImplementationDef from the Implementation Repository whose id matches the input. The caller assumes ownership of this object and must subsequently delete it. (If passed to BOA::impl_is_ready, however, the ImplementationDef object should not be deleted until after BOA::deactivate_impl has subsequently been called and the server has quiesced, to insure that the BOA does not subsequently refer to that object.) Each call to find_impldef returns a different ImplementationDef object (although the different objects will be equivalent for equivalent input to find_impldef).