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