diff options
author | Phil Mesnier <mesnier_p@ociweb.com> | 2007-08-06 19:58:44 +0000 |
---|---|---|
committer | Phil Mesnier <mesnier_p@ociweb.com> | 2007-08-06 19:58:44 +0000 |
commit | 1534e90c06bdbe89212291c940cd986e2f2a6096 (patch) | |
tree | a34165b82f1352cc1040e10ddabea49d6df792ab /TAO/tao | |
parent | 4cb24b0cbd05a7bb1be9bbaf04452da70c73d045 (diff) | |
download | ATCD-1534e90c06bdbe89212291c940cd986e2f2a6096.tar.gz |
Mon Aug 6 19:53:24 UTC 2007 Phil Mesnier <mesnier_p@ociweb.com>
Diffstat (limited to 'TAO/tao')
-rw-r--r-- | TAO/tao/EndpointPolicy/EndpointPolicy.cpp | 21 | ||||
-rw-r--r-- | TAO/tao/EndpointPolicy/EndpointPolicy.h | 12 | ||||
-rw-r--r-- | TAO/tao/TAO_Internal.cpp | 10 |
3 files changed, 38 insertions, 5 deletions
diff --git a/TAO/tao/EndpointPolicy/EndpointPolicy.cpp b/TAO/tao/EndpointPolicy/EndpointPolicy.cpp index 38657d7097f..15527db9895 100644 --- a/TAO/tao/EndpointPolicy/EndpointPolicy.cpp +++ b/TAO/tao/EndpointPolicy/EndpointPolicy.cpp @@ -14,10 +14,16 @@ ACE_RCSID (EndpointPolicy, EndpointPolicy, "$Id$") TAO_BEGIN_VERSIONED_NAMESPACE_DECL int -TAO_EndpointPolicy_Initializer::init (void) +TAO_EndpointPolicy_Initializer::static_init (void) { - ACE_Service_Config::process_directive (ace_svc_desc_TAO_Endpoint_Acceptor_Filter_Factory); + ACE_Service_Config::process_directive (ace_svc_desc_TAO_EndpointPolicy_Initializer); + return 0; + +} +int +TAO_EndpointPolicy_Initializer::init (int, ACE_TCHAR* []) +{ PortableInterceptor::ORBInitializer_ptr temp_orb_initializer = PortableInterceptor::ORBInitializer::_nil (); PortableInterceptor::ORBInitializer_var orb_initializer; @@ -53,3 +59,14 @@ TAO_EndpointPolicy_Initializer::init (void) } TAO_END_VERSIONED_NAMESPACE_DECL + +///////////////////////////////////////////////////////////////////// + +ACE_FACTORY_DEFINE (TAO_EndpointPolicy, TAO_EndpointPolicy_Initializer) +ACE_STATIC_SVC_DEFINE (TAO_EndpointPolicy_Initializer, + ACE_TEXT ("EndpointPolicy_Initializer"), + ACE_SVC_OBJ_T, + &ACE_SVC_NAME (TAO_EndpointPolicy_Initializer), + ACE_Service_Type::DELETE_THIS + | ACE_Service_Type::DELETE_OBJ, + 0) diff --git a/TAO/tao/EndpointPolicy/EndpointPolicy.h b/TAO/tao/EndpointPolicy/EndpointPolicy.h index 007294e420d..b1412c77f78 100644 --- a/TAO/tao/EndpointPolicy/EndpointPolicy.h +++ b/TAO/tao/EndpointPolicy/EndpointPolicy.h @@ -27,18 +27,24 @@ TAO_BEGIN_VERSIONED_NAMESPACE_DECL -class TAO_EndpointPolicy_Export TAO_EndpointPolicy_Initializer +class TAO_EndpointPolicy_Export TAO_EndpointPolicy_Initializer : public ACE_Service_Object { public: /// Used to force the initialization of the ORB code. - static int init (void); + static int static_init (void); + + /// Initialize the PI_Server loader hooks. + virtual int init (int argc, ACE_TCHAR* []); }; static int -TAO_Requires_EndpointPolicy_Initializer = TAO_EndpointPolicy_Initializer::init (); +TAO_Requires_EndpointPolicy_Initializer = TAO_EndpointPolicy_Initializer::static_init (); TAO_END_VERSIONED_NAMESPACE_DECL +ACE_STATIC_SVC_DECLARE_EXPORT (TAO_EndpointPolicy, TAO_EndpointPolicy_Initializer) +ACE_FACTORY_DECLARE (TAO_EndpointPolicy, TAO_EndpointPolicy_Initializer) + #include /**/ "ace/post.h" #define TAO_ENDPOINTPOLICY_SAFE_INCLUDE diff --git a/TAO/tao/TAO_Internal.cpp b/TAO/tao/TAO_Internal.cpp index 376ccb847c2..e63f6889957 100644 --- a/TAO/tao/TAO_Internal.cpp +++ b/TAO/tao/TAO_Internal.cpp @@ -636,6 +636,16 @@ namespace csd_framework_loader->init (0, 0); } + ACE_Service_Object * const endpoint_policy_loader = + ACE_Dynamic_Service<ACE_Service_Object>::instance ( + pcfg, + "EndpointPolicy_Initializer"); + + if (endpoint_policy_loader != 0) + { + endpoint_policy_loader->init (0, 0); + } + } /* register_additional_services_i */ int |