Go to the documentation of this file.00001
00002
00003 #include "tao/EndpointPolicy/EndpointPolicy.h"
00004 #include "tao/EndpointPolicy/EndpointPolicy_ORBInitializer.h"
00005 #include "tao/EndpointPolicy/Endpoint_Acceptor_Filter_Factory.h"
00006
00007 #include "tao/ORB_Core.h"
00008 #include "tao/ORBInitializer_Registry.h"
00009
00010 #include "tao/PI/PI.h"
00011
00012 ACE_RCSID (EndpointPolicy, EndpointPolicy, "$Id: EndpointPolicy.cpp 84281 2009-01-30 15:01:17Z wotte $")
00013
00014 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00015
00016 int
00017 TAO_EndpointPolicy_Initializer::static_init (void)
00018 {
00019 ACE_Service_Config::process_directive (ace_svc_desc_TAO_EndpointPolicy_Initializer);
00020 return 0;
00021 }
00022
00023 int
00024 TAO_EndpointPolicy_Initializer::init (int, ACE_TCHAR* [])
00025 {
00026 PortableInterceptor::ORBInitializer_var orb_initializer;
00027
00028 try
00029 {
00030 PortableInterceptor::ORBInitializer_ptr temp_orb_initializer =
00031 PortableInterceptor::ORBInitializer::_nil ();
00032
00033
00034 ACE_NEW_THROW_EX (temp_orb_initializer,
00035 TAO_EndpointPolicy_ORBInitializer,
00036 CORBA::NO_MEMORY (
00037 CORBA::SystemException::_tao_minor_code (
00038 TAO::VMCID,
00039 ENOMEM),
00040 CORBA::COMPLETED_NO));
00041
00042 orb_initializer = temp_orb_initializer;
00043
00044 PortableInterceptor::register_orb_initializer (orb_initializer.in ());
00045 }
00046 catch (const ::CORBA::Exception& ex)
00047 {
00048 if (TAO_debug_level > 0)
00049 {
00050 ex._tao_print_exception ("Caught exception:");
00051 }
00052 return -1;
00053 }
00054
00055 ACE_Service_Config::process_directive
00056 (ace_svc_desc_TAO_Endpoint_Acceptor_Filter_Factory,1);
00057
00058 return 0;
00059 }
00060
00061
00062
00063
00064 ACE_FACTORY_DEFINE (TAO_EndpointPolicy, TAO_EndpointPolicy_Initializer)
00065 ACE_STATIC_SVC_DEFINE (TAO_EndpointPolicy_Initializer,
00066 ACE_TEXT ("EndpointPolicy_Initializer"),
00067 ACE_SVC_OBJ_T,
00068 &ACE_SVC_NAME (TAO_EndpointPolicy_Initializer),
00069 ACE_Service_Type::DELETE_THIS
00070 | ACE_Service_Type::DELETE_OBJ,
00071 0)
00072 TAO_END_VERSIONED_NAMESPACE_DECL