Public Member Functions | Private Member Functions | Private Attributes

TAO::ORBInitializer_Registry Class Reference

Global list that contains all portable interceptor ORB initializers. More...

#include <ORBInitializer_Registry_Impl.h>

Inheritance diagram for TAO::ORBInitializer_Registry:
Inheritance graph
[legend]
Collaboration diagram for TAO::ORBInitializer_Registry:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ORBInitializer_Registry (void)
virtual int init (int, ACE_TCHAR *[])
virtual int fini (void)
virtual void register_orb_initializer (PortableInterceptor::ORBInitializer_ptr init)
virtual size_t pre_init (TAO_ORB_Core *orb_core, int argc, char *argv[], PortableInterceptor::SlotId &slotid)
virtual void post_init (size_t pre_init_count, TAO_ORB_Core *orb_core, int argc, char *argv[], PortableInterceptor::SlotId slotid)

Private Member Functions

 ORBInitializer_Registry (const ORBInitializer_Registry &)
void operator= (const ORBInitializer_Registry &)

Private Attributes

TAO_SYNCH_RECURSIVE_MUTEX lock_
ACE_Array_Base
< PortableInterceptor::ORBInitializer_var > 
initializers_
 Dynamic array containing registered ORBInitializers.

Detailed Description

Global list that contains all portable interceptor ORB initializers.


Constructor & Destructor Documentation

TAO::ORBInitializer_Registry::ORBInitializer_Registry ( void   ) 
TAO::ORBInitializer_Registry::ORBInitializer_Registry ( const ORBInitializer_Registry  )  [private]

Member Function Documentation

int TAO::ORBInitializer_Registry::fini ( void   )  [virtual]

Service config fini method, release all ORBInitializers at this moment

Reimplemented from ACE_Shared_Object.

int TAO::ORBInitializer_Registry::init ( int  ,
ACE_TCHAR [] 
) [virtual]

Added to provide registration for the several static service objects, brought in with this ORBInitializer_Registry implementation. Note that this is more reliable than using static initializers, since multiple copies of the dynamic service object will require their own (multiple) copies of the dependent static service objects. That is just impossible without registering those static services in the same repo, the dynamic SO is registered with.

Reimplemented from ACE_Shared_Object.

void TAO::ORBInitializer_Registry::operator= ( const ORBInitializer_Registry  )  [private]
void TAO::ORBInitializer_Registry::post_init ( size_t  pre_init_count,
TAO_ORB_Core orb_core,
int  argc,
char *  argv[],
PortableInterceptor::SlotId  slotid 
) [virtual]

Complete initialization of all registered ORBInitializers after the ORB has been initialized.

Implements TAO::ORBInitializer_Registry_Adapter.

size_t TAO::ORBInitializer_Registry::pre_init ( TAO_ORB_Core orb_core,
int  argc,
char *  argv[],
PortableInterceptor::SlotId slotid 
) [virtual]

Begin initialization of all registered ORBInitializers before the ORB itself is initialized.

Implements TAO::ORBInitializer_Registry_Adapter.

void TAO::ORBInitializer_Registry::register_orb_initializer ( PortableInterceptor::ORBInitializer_ptr  init  )  [virtual]

Register an ORBInitializer with the underlying ORBInitializer array.

Implements TAO::ORBInitializer_Registry_Adapter.


Member Data Documentation

ACE_Array_Base<PortableInterceptor::ORBInitializer_var> TAO::ORBInitializer_Registry::initializers_ [private]

Dynamic array containing registered ORBInitializers.

TAO_SYNCH_RECURSIVE_MUTEX TAO::ORBInitializer_Registry::lock_ [private]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Defines