diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp | 46 |
1 files changed, 21 insertions, 25 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp index 71acd51ec2e..08722d3288c 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp +++ b/TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp @@ -3,14 +3,12 @@ #include "EC_Null_Factory.h" #include "EC_Dispatching.h" #include "EC_Filter_Builder.h" -#include "EC_Trivial_Supplier_Filter.h" #include "EC_ConsumerAdmin.h" #include "EC_SupplierAdmin.h" #include "EC_ProxyConsumer.h" #include "EC_ProxySupplier.h" #include "EC_SupplierFiltering.h" #include "EC_ObserverStrategy.h" -#include "EC_Null_Scheduling.h" #include "EC_ProxyPushSupplier_Set_T.h" #include "EC_Reactive_Timeout_Generator.h" @@ -22,6 +20,8 @@ ACE_RCSID(Event, EC_Null_Factory, "$Id$") TAO_EC_Null_Factory::~TAO_EC_Null_Factory (void) { + delete this->supplier_filtering_; + this->supplier_filtering_ = 0; } TAO_EC_Dispatching* @@ -48,18 +48,6 @@ TAO_EC_Null_Factory::destroy_filter_builder (TAO_EC_Filter_Builder *x) delete x; } -TAO_EC_Supplier_Filter_Builder* -TAO_EC_Null_Factory::create_supplier_filter_builder (TAO_EC_Event_Channel *ec) -{ - return new TAO_EC_Trivial_Supplier_Filter_Builder (ec); -} - -void -TAO_EC_Null_Factory::destroy_supplier_filter_builder (TAO_EC_Supplier_Filter_Builder *x) -{ - delete x; -} - TAO_EC_ConsumerAdmin* TAO_EC_Null_Factory::create_consumer_admin (TAO_EC_Event_Channel *ec) { @@ -99,7 +87,11 @@ TAO_EC_Null_Factory::destroy_proxy_push_supplier (TAO_EC_ProxyPushSupplier *x) TAO_EC_ProxyPushConsumer* TAO_EC_Null_Factory::create_proxy_push_consumer (TAO_EC_Event_Channel *ec) { - return new TAO_EC_ProxyPushConsumer (ec); + if (this->supplier_filtering_ == 0) + ACE_NEW_RETURN (this->supplier_filtering_, + TAO_EC_Null_SupplierFiltering (ec), + 0); + return new TAO_EC_ProxyPushConsumer (ec, this->supplier_filtering_); } void @@ -134,28 +126,28 @@ TAO_EC_Null_Factory::destroy_observer_strategy (TAO_EC_ObserverStrategy *x) delete x; } -TAO_EC_Scheduling_Strategy* -TAO_EC_Null_Factory::create_scheduling_strategy (TAO_EC_Event_Channel*) +TAO_EC_ProxyPushSupplier_Set* +TAO_EC_Null_Factory::create_proxy_push_supplier_set (TAO_EC_Event_Channel *) { - return new TAO_EC_Null_Scheduling; + return new TAO_EC_ProxyPushSupplier_Set_Immediate<ACE_Null_Mutex> (); } void -TAO_EC_Null_Factory::destroy_scheduling_strategy (TAO_EC_Scheduling_Strategy* x) +TAO_EC_Null_Factory::destroy_proxy_push_supplier_set (TAO_EC_ProxyPushSupplier_Set *x) { delete x; } -TAO_EC_ProxyPushSupplier_Set* -TAO_EC_Null_Factory::create_proxy_push_supplier_set (TAO_EC_Event_Channel *) +PortableServer::POA_ptr +TAO_EC_Null_Factory::consumer_poa (CORBA::Environment&) { - return new TAO_EC_ProxyPushSupplier_Set_Immediate<ACE_Null_Mutex> (); + return PortableServer::POA::_duplicate (this->poa_.in ()); } -void -TAO_EC_Null_Factory::destroy_proxy_push_supplier_set (TAO_EC_ProxyPushSupplier_Set *x) +PortableServer::POA_ptr +TAO_EC_Null_Factory::supplier_poa (CORBA::Environment&) { - delete x; + return PortableServer::POA::_duplicate (this->poa_.in ()); } ACE_Lock* @@ -208,6 +200,10 @@ TAO_EC_Null_Factory::destroy_supplier_admin_lock (ACE_Lock* x) #if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +template class TAO_EC_ProxyPushSupplier_Set_Immediate<ACE_Null_Mutex>; + #elif defined(ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#pragma instantiate TAO_EC_ProxyPushSupplier_Set_Immediate<ACE_Null_Mutex> + #endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ |