Previous | Table of Contents | Next |
local interface IORInterceptor : Interceptor { void establish_components (in IORInfo info); };
local interface IORInterceptor_3_0 : IORInterceptor { void components_established( in IORInfo info ) ;
void adapter_manager_state_changed( in AdapterManagerId id, in AdapterState state );
void adapter_state_changed( in ObjectReferenceTemplateSeq templates, in AdapterState state ) ; };
21.5.4.1 establish_components
A server side ORB calls the establish_components operation on all registered IORInterceptor instances when it is assembling
the list of components that will be included in the profile or profiles of an object reference. This operation is not necessarily
called for each individual object reference. In the case of the POA, these calls are made each time POA::create_POA is called.
In other adapters, these calls would typically be made when the adapter is initialized. The adapter template is not available
at this stage since information (the components) needed in the adapter template is being constructed.
An implementation of establish_components must not throw exceptions. If it does, the ORB shall ignore the exception and proceed
to call the next IOR Interceptor’s establish_components operation.
Parameters |
|||||
info | The IORInfo instance used by the ORB service to query applicable policies and add components to be included in the generated IORs. |
21.5.4.2 components_established
After all of the establish_components methods have been called, the components_established methods are called on all registered
IORInterceptor_3_0 instances. The adapter template is available at this stage. The current_factory attribute may be get or
set at this stage.
Any exception that occurs in components_established is returned to the caller of components_established. In the case of the
POA, this causes the create_POA call to fail, and an OBJ_ADAPTER exception with a standard minor code of 6 is returned to
the invoker of create_POA.
21.5.4.3 adapter_manager_state_changed
Any time the state of an adapter manager changes, the adapter_manager_state_changed method is invoked on all registered IORInterceptor_3_0
instances.
If a state change is reported through adapter_manager_state_changed, it is not reported through adapter_state_changed.
21.5.4.4 adapter_state_changed
Adapter state changes unrelated to adapter manager state changes are reported by invoking the adapter_state_changed method
on all registered IORInterceptor_3_0 instances. The templates argument identifies the object adapters that have changed state
by the template ID information. The sequence contains the adapter templates for all object adapters that have made the state
transition being reported.