#include <PI.h>
Static Public Member Functions | |
int | Initializer (void) |
Used to force the initialization of the ORB code. |
|
Used to force the initialization of the ORB code. Register the PI ORBInitializer. Definition at line 22 of file PI.cpp. References ACE_NEW_THROW_EX, ACE_Service_Config::process_directive(), PortableInterceptor::register_orb_initializer(), and TAO_debug_level.
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 00043 ACE_NEW_THROW_EX (temp_orb_initializer, 00044 TAO_PI_ORBInitializer, 00045 CORBA::NO_MEMORY ( 00046 CORBA::SystemException::_tao_minor_code ( 00047 TAO::VMCID, 00048 ENOMEM), 00049 CORBA::COMPLETED_NO)); 00050 00051 orb_initializer = temp_orb_initializer; 00052 00053 PortableInterceptor::register_orb_initializer (orb_initializer.in () 00054 ); 00055 } 00056 catch (const ::CORBA::Exception& ex) 00057 { 00058 if (TAO_debug_level > 0) 00059 { 00060 ex._tao_print_exception ("(%P | %t) Caught exception:"); 00061 } 00062 return -1; 00063 } 00064 #endif /* TAO_HAS_INTERCEPTORS == 1 */ 00065 return status; 00066 } |