TAO_PI_Init Class Reference

#include <PI.h>

List of all members.

Static Public Member Functions

static int Initializer (void)
 Used to force the initialization of the ORB code.


Detailed Description

Definition at line 32 of file PI.h.


Member Function Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL int TAO_PI_Init::Initializer ( void   )  [static]

Used to force the initialization of the ORB code.

Register the PI ORBInitializer.

Definition at line 22 of file PI.cpp.

References CORBA::SystemException::_tao_minor_code(), ACE_NEW_THROW_EX, CORBA::COMPLETED_NO, ACE_Service_Config::process_directive(), PortableInterceptor::register_orb_initializer(), TAO_debug_level, and TAO::VMCID.

00023 {
00024 #if TAO_HAS_INTERCEPTORS == 1
00025   ACE_Service_Config::process_directive (ace_svc_desc_TAO_ClientRequestInterceptor_Adapter_Factory_Impl);
00026 
00027   ACE_Service_Config::process_directive (ace_svc_desc_TAO_PICurrent_Loader);
00028 #endif  /* TAO_HAS_INTERCEPTORS == 1 */
00029 
00030   int const status = ACE_Service_Config::process_directive (
00031                             ace_svc_desc_ORBInitializer_Registry);
00032 
00033 #if  TAO_HAS_INTERCEPTORS == 1
00034   PortableInterceptor::ORBInitializer_ptr temp_orb_initializer =
00035     PortableInterceptor::ORBInitializer::_nil ();
00036 
00037   PortableInterceptor::ORBInitializer_var orb_initializer;
00038 
00039   try
00040     {
00041       /// Register the PI ORBInitializer.
00042       ACE_NEW_THROW_EX (temp_orb_initializer,
00043                         TAO_PI_ORBInitializer,
00044                         CORBA::NO_MEMORY (
00045                           CORBA::SystemException::_tao_minor_code (
00046                             TAO::VMCID,
00047                             ENOMEM),
00048                           CORBA::COMPLETED_NO));
00049 
00050       orb_initializer = temp_orb_initializer;
00051 
00052       PortableInterceptor::register_orb_initializer (orb_initializer.in ());
00053     }
00054   catch (const ::CORBA::Exception& ex)
00055     {
00056       if (TAO_debug_level > 0)
00057         {
00058           ex._tao_print_exception ("(%P | %t) Caught exception:");
00059         }
00060       return -1;
00061     }
00062 #endif  /* TAO_HAS_INTERCEPTORS == 1 */
00063   return status;
00064 }


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:42:07 2010 for TAO_PI by  doxygen 1.4.7