Interface ORBInitInfoOperations
- All Known Subinterfaces:
ORBInitInfo
- All Known Implementing Classes:
ORBInitInfoImpl
public interface ORBInitInfoOperations
Passed to each
ORBInitializer, allowing it to
to register interceptors and perform other duties while the ORB is
initializing.
The ORBInitInfo object is only valid during
ORB.init. If a service keeps a reference to its
ORBInitInfo object and tries to use it after
ORB.init returns, the object no longer exists and an
OBJECT_NOT_EXIST exception shall be thrown.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoidadd_client_request_interceptor(ClientRequestInterceptor interceptor) Used to add a client-side request Interceptor to the list of client-side request Interceptors.voidadd_ior_interceptor(IORInterceptor interceptor) Used to add an IOR Interceptor to the list of IOR Interceptors.voidadd_server_request_interceptor(ServerRequestInterceptor interceptor) Used to add a server-side request Interceptor to the list of server-side request Interceptors.intCalled to allocate a slot onPortableInterceptor.Current.String[]Returns the arguments passed toORB.init.Returns theIOP.CodecFactory.orb_id()Returns the ID of the ORB being initialized.voidregister_initial_reference(String id, Object obj) Identical toORB.register_initial_reference.voidregister_policy_factory(int type, PolicyFactory policy_factory) Registers aPolicyFactoryfor the givenPolicyType.Identical toORB.resolve_initial_references.
-
Method Details
-
arguments
String[] arguments()Returns the arguments passed toORB.init. They may or may not contain the ORB's arguments.- Returns:
- the arguments for ORB.init
-
orb_id
-
codec_factory
CodecFactory codec_factory()Returns theIOP.CodecFactory. TheCodecFactoryis normally obtained via a call toORB.resolve_initial_references( "CodecFactory" ), but since the ORB is not yet available and Interceptors, particularly when processing service contexts, will require aCodec, a means of obtaining aCodecis necessary during ORB initialization.- Returns:
- the IOP.CodeFactory
-
register_initial_reference
Identical toORB.register_initial_reference. This same functionality exists here because the ORB, not yet fully initialized, is not yet available but initial references may need to be registered as part of Interceptor registration. The only difference is that the version of this operation on the ORB uses PIDL (CORBA.ORB.ObjectId) and (CORBA.ORB.InvalidName) whereas the version in this interface uses IDL defined in this interface; the semantics are identical.- Parameters:
id- initial object idobj- initial object to register- Throws:
InvalidName- if the name is invalid
-
resolve_initial_references
Identical toORB.resolve_initial_references. This same functionality exists here because the ORB, not yet fully initialized, is not yet available but initial references may be required from the ORB as part of Interceptor registration. The only difference is that the version of this operation on the ORB uses PIDL (CORBA::ORB::ObjectIdandCORBA::ORB::InvalidName) whereas the version in this interface uses IDL defined in this interface; the semantics are identical.This operation is only valid during post_init.
- Parameters:
id- ID of the object- Returns:
- initial references
- Throws:
InvalidName- if the ID is not valid
-
add_client_request_interceptor
Used to add a client-side request Interceptor to the list of client-side request Interceptors.- Parameters:
interceptor- TheClientRequestInterceptorto be added.- Throws:
DuplicateName- thrown if a client-side request Interceptor has already been registered with this Interceptor's name.
-
add_server_request_interceptor
Used to add a server-side request Interceptor to the list of server-side request Interceptors.- Parameters:
interceptor- The ServerRequestInterceptor to be added.- Throws:
DuplicateName- thrown if a server-side request Interceptor has already been registered with this Interceptor's name
-
add_ior_interceptor
Used to add an IOR Interceptor to the list of IOR Interceptors.- Parameters:
interceptor- The IORInterceptor to be added.- Throws:
DuplicateName- thrown if an IOR Interceptor has already been registered with this Interceptor's name.
-
allocate_slot_id
int allocate_slot_id()Called to allocate a slot onPortableInterceptor.Current.Note that while slot id's can be allocated within an ORB initializer, the slots themselves cannot be initialized.
- Returns:
- The index to the slot which has been allocated.
- Throws:
BAD_INV_ORDER- thrown, with a standard minor code of 14, ifset_slotorget_slotis called on thePICurrentwithin an ORB initializer.- See Also:
-
register_policy_factory
Registers aPolicyFactoryfor the givenPolicyType.- Parameters:
type- The policy type that the givenPolicyFactoryserves.policy_factory- The factory for the given policy type.- Throws:
BAD_INV_ORDER- thrown, with a standard minor code of 16, if aPolicyFactoryalready exists for the givenPolicyType.
-