VisiBroker for C++ API Reference Guide : Error codes : Initialization interfaces and classes

Initialization interfaces and classes
This section describes the interfaces and classes that are provided for statically initializing VisiBroker ORB services such as interceptors.
VISInit
class VISInit
This abstract base class provides for the static initialization of service classes after the VisiBroker ORB and BOA have been initialized. By deriving your service class from VISInit and declaring it statically, you ensure that your service class instance will be properly initialized.
The VisiBroker ORB invokes the VISInit::ORB_init and VISInit::BOA_init whenever the application calls CORBA::ORB_init or BOA_init methods. By providing your own implementations of these methods, you may add any needed initialization that must be performed for your service.
Include file
Include the vinit.h file when you use this class.
VISInit constructors/destructors
VISInit();
This is the default constructor.
VISInit(CORBA::Long init_priority);
This constructor creates a VISInit-derived object with the specified priority, which determines when it will be initialized relative to other VISInit-derived objects.
Internal VisiBroker classes which need to be initialized before user-defined classes have a negative priority value. The lowest priority value currently used by VisiBroker internal classes is -10 to 10.
Note
You should set a priority value less than -10 if your class must be initialized before the VisiBroker internal classes.
If no priority value is specified, the default value is 0, which means that the class will be initialized after the internal VisiBroker classes.
virtual ~VISInit();
This is the default destructor.
VISInit methods
virtual void ORB_init(int& argc, char * const *argv, CORBA::ORB_ptr orb);
This method will be called during VisiBroker ORB initialization. Your implementation should provide for the initialization of the client-side interceptor factory that you wish to use.
virtual void ORB_initialized(CORBA::ORB_ptr orb);
This method will be called after the VisiBroker ORB is initialized. Your implementation should provide for the initialization of the client-side interceptor factory that you wish to use.
virtual void BOA_init(int& argc, char * const *argv, CORBA::BOA_ptr boa);
This method will be called when the BOA is initialized. Your implementation should provide for the initialization of the server-side interceptor factory that you wish to use.
virtual void ORB_shutdown()
This method will be called when the VisiBroker ORB is shut down.