#include <PI_Server_Loader.h>
Inheritance diagram for TAO_PI_Server_Loader:
Public Member Functions | |
TAO_PI_Server_Loader (void) | |
Constructor. | |
virtual | ~TAO_PI_Server_Loader (void) |
Destructor. | |
virtual int | init (int argc, ACE_TCHAR *[]) |
Initialize the PI_Server loader hooks. |
Definition at line 28 of file PI_Server_Loader.h.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_PI_Server_Loader::TAO_PI_Server_Loader | ( | void | ) |
TAO_PI_Server_Loader::~TAO_PI_Server_Loader | ( | void | ) | [virtual] |
int TAO_PI_Server_Loader::init | ( | int | argc, | |
ACE_TCHAR * | [] | |||
) | [virtual] |
Initialize the PI_Server loader hooks.
Register the Messaging ORBInitializer.
Reimplemented from ACE_Shared_Object.
Definition at line 26 of file PI_Server_Loader.cpp.
References CORBA::SystemException::_tao_minor_code(), ACE_NEW_THROW_EX, ACE_TRACE, CORBA::COMPLETED_NO, PortableInterceptor::register_orb_initializer(), and TAO::VMCID.
00027 { 00028 ACE_TRACE ("TAO_PI_Server_Loader::init"); 00029 00030 static bool initialized = false; 00031 00032 // Only allow initialization once. 00033 if (initialized) 00034 return 0; 00035 00036 initialized = true; 00037 00038 // Register the ORB initializer. 00039 try 00040 { 00041 /// Register the Messaging ORBInitializer. 00042 PortableInterceptor::ORBInitializer_ptr temp_orb_initializer = 00043 PortableInterceptor::ORBInitializer::_nil (); 00044 00045 ACE_NEW_THROW_EX (temp_orb_initializer, 00046 TAO_PortableServer_ORBInitializer, 00047 CORBA::NO_MEMORY ( 00048 CORBA::SystemException::_tao_minor_code ( 00049 TAO::VMCID, 00050 ENOMEM), 00051 CORBA::COMPLETED_NO)); 00052 00053 PortableInterceptor::ORBInitializer_var orb_initializer = 00054 temp_orb_initializer; 00055 00056 PortableInterceptor::register_orb_initializer (orb_initializer.in ()); 00057 } 00058 catch (const ::CORBA::Exception& ex) 00059 { 00060 ex._tao_print_exception ("Caught exception:"); 00061 return -1; 00062 } 00063 00064 return 0; 00065 }