#include <PI.h>
Static Public Member Functions | |
static int | Initializer (void) |
Used to force the initialization of the ORB code. |
Definition at line 32 of file PI.h.
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 }