summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp46
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 */