summaryrefslogtreecommitdiff
path: root/TAO/tao/CSD_Framework
diff options
context:
space:
mode:
authorjohnc <johnc@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2008-06-10 14:59:20 +0000
committerjohnc <johnc@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2008-06-10 14:59:20 +0000
commit8cffad94a7e2c463b22200d4f5deb41b3c1cd28f (patch)
tree69b5be0dba62233949610f4f045ce332d43852f5 /TAO/tao/CSD_Framework
parent219a160c740a6a5ab07aafcfda8c2e21f4b3b50d (diff)
downloadATCD-8cffad94a7e2c463b22200d4f5deb41b3c1cd28f.tar.gz
ChangeLogTag: Tue Jun 10 14:53:00 UTC 2008 Ciju John <johnc at ociweb dot com>
Diffstat (limited to 'TAO/tao/CSD_Framework')
-rw-r--r--TAO/tao/CSD_Framework/CSD_Framework_Loader.cpp21
-rw-r--r--TAO/tao/CSD_Framework/CSD_POA.cpp2
-rw-r--r--TAO/tao/CSD_Framework/CSD_Strategy_Base.cpp2
-rw-r--r--TAO/tao/CSD_Framework/CSD_Strategy_Base.h4
-rw-r--r--TAO/tao/CSD_Framework/CSD_Strategy_Base.inl4
-rw-r--r--TAO/tao/CSD_Framework/CSD_Strategy_Proxy.h2
-rw-r--r--TAO/tao/CSD_Framework/CSD_Strategy_Proxy.inl4
7 files changed, 28 insertions, 11 deletions
diff --git a/TAO/tao/CSD_Framework/CSD_Framework_Loader.cpp b/TAO/tao/CSD_Framework/CSD_Framework_Loader.cpp
index d0be954f269..d92151a6ba4 100644
--- a/TAO/tao/CSD_Framework/CSD_Framework_Loader.cpp
+++ b/TAO/tao/CSD_Framework/CSD_Framework_Loader.cpp
@@ -4,6 +4,7 @@
#include "tao/CSD_Framework/CSD_Object_Adapter_Factory.h"
#include "tao/CSD_Framework/CSD_Strategy_Repository.h"
#include "tao/CSD_Framework/CSD_ORBInitializer.h"
+#include "tao/PI/DLL_Resident_ORB_Initializer.h"
#include "tao/ORBInitializer_Registry.h"
ACE_RCSID (CSD_Framework,
@@ -56,7 +57,7 @@ TAO_CSD_Framework_Loader::init (int, ACE_TCHAR* [])
PortableInterceptor::ORBInitializer_ptr temp_orb_initializer =
PortableInterceptor::ORBInitializer::_nil ();
- /// Register the RTCORBA ORBInitializer.
+ /// Register the CSD ORBInitializer.
ACE_NEW_THROW_EX (temp_orb_initializer,
TAO_CSD_ORBInitializer,
CORBA::NO_MEMORY (
@@ -68,7 +69,23 @@ TAO_CSD_Framework_Loader::init (int, ACE_TCHAR* [])
PortableInterceptor::ORBInitializer_var orb_initializer;
orb_initializer = temp_orb_initializer;
- PortableInterceptor::register_orb_initializer (orb_initializer.in ());
+ PortableInterceptor::ORBInitializer_ptr temp_dll_initializer =
+ PortableInterceptor::ORBInitializer::_nil ();
+
+ ACE_NEW_THROW_EX (temp_dll_initializer,
+ PortableInterceptor::DLL_Resident_ORB_Initializer(
+ orb_initializer.in (),
+ ACE_LIB_TEXT ("TAO_CSD_ThreadPool")),
+ CORBA::NO_MEMORY (
+ CORBA::SystemException::_tao_minor_code (
+ TAO::VMCID,
+ ENOMEM),
+ CORBA::COMPLETED_NO));
+
+ PortableInterceptor::ORBInitializer_var dll_initializer;
+ dll_initializer = temp_dll_initializer;
+
+ PortableInterceptor::register_orb_initializer (dll_initializer.in ());
}
catch (const ::CORBA::Exception& ex)
{
diff --git a/TAO/tao/CSD_Framework/CSD_POA.cpp b/TAO/tao/CSD_Framework/CSD_POA.cpp
index f7f7f454f67..5f53d9bd76d 100644
--- a/TAO/tao/CSD_Framework/CSD_POA.cpp
+++ b/TAO/tao/CSD_Framework/CSD_POA.cpp
@@ -94,7 +94,7 @@ TAO_CSD_POA::new_POA (const String &name,
void TAO_CSD_POA::poa_activated_hook ()
{
- this->sds_proxy_->poa_activated_event ();
+ this->sds_proxy_->poa_activated_event (this->orb_core_);
}
void TAO_CSD_POA::poa_deactivated_hook ()
diff --git a/TAO/tao/CSD_Framework/CSD_Strategy_Base.cpp b/TAO/tao/CSD_Framework/CSD_Strategy_Base.cpp
index 09a00e16ddd..b59ef04eef4 100644
--- a/TAO/tao/CSD_Framework/CSD_Strategy_Base.cpp
+++ b/TAO/tao/CSD_Framework/CSD_Strategy_Base.cpp
@@ -67,7 +67,7 @@ TAO::CSD::Strategy_Base::apply_to (PortableServer::POA_ptr poa)
// The POA is already "active" (since its POAManager is active).
// We need to "raise" the poa_activated_event() now. Otherwise,
// the event will be raised when the POAManager does become active.
- if (!this->poa_activated_event())
+ if (!this->poa_activated_event( poa_impl->orb_core() ))
{
// An error has been already been reported to the log with
// the detailed reason for the failure to handle the event.
diff --git a/TAO/tao/CSD_Framework/CSD_Strategy_Base.h b/TAO/tao/CSD_Framework/CSD_Strategy_Base.h
index 85dfd7d7556..a750f305abe 100644
--- a/TAO/tao/CSD_Framework/CSD_Strategy_Base.h
+++ b/TAO/tao/CSD_Framework/CSD_Strategy_Base.h
@@ -100,7 +100,7 @@ namespace TAO
PortableServer::Servant servant) = 0;
/// Event - The POA has been activated.
- virtual bool poa_activated_event_i() = 0;
+ virtual bool poa_activated_event_i(TAO_ORB_Core& orb_core) = 0;
/// Event - The POA has been deactivated.
virtual void poa_deactivated_event_i() = 0;
@@ -130,7 +130,7 @@ namespace TAO
/// Event - The POA has been activated. This happens when the POA_Manager
/// is activated.
- bool poa_activated_event();
+ bool poa_activated_event(TAO_ORB_Core& orb_core);
/// Event - The POA has been deactivated. This happens when the
/// POAManager is deactivated, or when the POA is destroyed.
diff --git a/TAO/tao/CSD_Framework/CSD_Strategy_Base.inl b/TAO/tao/CSD_Framework/CSD_Strategy_Base.inl
index b68910e87ab..7e42abe17f6 100644
--- a/TAO/tao/CSD_Framework/CSD_Strategy_Base.inl
+++ b/TAO/tao/CSD_Framework/CSD_Strategy_Base.inl
@@ -84,10 +84,10 @@ TAO::CSD::Strategy_Base::dispatch_request
ACE_INLINE
bool
-TAO::CSD::Strategy_Base::poa_activated_event()
+TAO::CSD::Strategy_Base::poa_activated_event(TAO_ORB_Core& orb_core)
{
// Notify the subclass of the event, saving the result.
- this->poa_activated_ = this->poa_activated_event_i();
+ this->poa_activated_ = this->poa_activated_event_i(orb_core);
// Return the result
return this->poa_activated_;
diff --git a/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.h b/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.h
index 848b170b94d..30b57c7ce58 100644
--- a/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.h
+++ b/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.h
@@ -76,7 +76,7 @@ namespace TAO
/// Event - The POA has been (or is being) activated.
- bool poa_activated_event();
+ bool poa_activated_event(TAO_ORB_Core& orb_core);
/// Event - The POA has been deactivated.
void poa_deactivated_event();
diff --git a/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.inl b/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.inl
index 102122f33de..8977b973f4c 100644
--- a/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.inl
+++ b/TAO/tao/CSD_Framework/CSD_Strategy_Proxy.inl
@@ -37,12 +37,12 @@ TAO::CSD::Strategy_Proxy::dispatch_request
ACE_INLINE
bool
-TAO::CSD::Strategy_Proxy::poa_activated_event()
+TAO::CSD::Strategy_Proxy::poa_activated_event(TAO_ORB_Core& orb_core)
{
// Delegate to the custom strategy object (or return true if this proxy
// is not holding a custom strategy).
return (this->strategy_impl_ == 0) ? true
- : this->strategy_impl_->poa_activated_event();
+ : this->strategy_impl_->poa_activated_event(orb_core);
}