summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-04-12 00:04:09 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-04-12 00:04:09 +0000
commitdf9219ebccbe43179ed011a95fcf321441d5bd20 (patch)
tree5114c8d9d7cd1531d569462d01275fd52ea7c3c3 /TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp
parentde17c18507a090080c06b62778fc60f9a17498d6 (diff)
downloadATCD-df9219ebccbe43179ed011a95fcf321441d5bd20.tar.gz
ChangeLogTag:Tue Apr 11 14:35:57 2000 Carlos O'Ryan <coryan@uci.edu>
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp155
1 files changed, 16 insertions, 139 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp
index 38570cf7167..59b2b6c3ab5 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp
@@ -12,101 +12,21 @@
ACE_RCSID(Event, EC_ConsumerAdmin, "$Id$")
TAO_EC_ConsumerAdmin::TAO_EC_ConsumerAdmin (TAO_EC_Event_Channel *ec)
- : event_channel_ (ec)
+ : TAO_ESF_Peer_Admin<TAO_EC_Event_Channel,TAO_EC_ProxyPushSupplier,TAO_EC_ProxyPushConsumer> (ec)
{
- this->collection_ =
- this->event_channel_->create_proxy_push_supplier_collection ();
-
- // @@
- // @@ this->collection_->busy_hwm (this->event_channel_->busy_hwm ());
- // @@ this->collection_->max_write_delay (
- // @@ this->event_channel_->max_write_delay ()
- // @@ );
-
this->default_POA_ =
this->event_channel_->consumer_poa ();
}
TAO_EC_ConsumerAdmin::~TAO_EC_ConsumerAdmin (void)
{
- this->event_channel_->destroy_proxy_push_supplier_collection (this->collection_);
- this->collection_ = 0;
-}
-
-void
-TAO_EC_ConsumerAdmin::connected (TAO_EC_ProxyPushConsumer *consumer,
- CORBA::Environment &ACE_TRY_ENV)
-{
- TAO_EC_Connect_Consumer worker (consumer);
-
- this->collection_->for_each (&worker, ACE_TRY_ENV);
-}
-
-void
-TAO_EC_ConsumerAdmin::reconnected (TAO_EC_ProxyPushConsumer *consumer,
- CORBA::Environment &ACE_TRY_ENV)
-{
- TAO_EC_Reconnect_Consumer worker (consumer);
-
- this->collection_->for_each (&worker, ACE_TRY_ENV);
-}
-
-void
-TAO_EC_ConsumerAdmin::disconnected (TAO_EC_ProxyPushConsumer *consumer,
- CORBA::Environment &ACE_TRY_ENV)
-{
- TAO_EC_Disconnect_Consumer worker (consumer);
-
- this->collection_->for_each (&worker, ACE_TRY_ENV);
-}
-
-void
-TAO_EC_ConsumerAdmin::connected (TAO_EC_ProxyPushSupplier * /*supplier*/,
- CORBA::Environment & /*ACE_TRY_ENV*/)
-{
- // this->collection_->connected (supplier, ACE_TRY_ENV);
-}
-
-void
-TAO_EC_ConsumerAdmin::reconnected (TAO_EC_ProxyPushSupplier *supplier,
- CORBA::Environment &ACE_TRY_ENV)
-{
- this->collection_->reconnected (supplier, ACE_TRY_ENV);
-}
-
-void
-TAO_EC_ConsumerAdmin::disconnected (TAO_EC_ProxyPushSupplier *supplier,
- CORBA::Environment &ACE_TRY_ENV)
-{
- this->collection_->disconnected (supplier, ACE_TRY_ENV);
-}
-
-void
-TAO_EC_ConsumerAdmin::shutdown (CORBA::Environment &ACE_TRY_ENV)
-{
- TAO_EC_Shutdown_Supplier worker;
-
- this->collection_->for_each (&worker, ACE_TRY_ENV);
- this->collection_->shutdown (ACE_TRY_ENV);
}
RtecEventChannelAdmin::ProxyPushSupplier_ptr
TAO_EC_ConsumerAdmin::obtain_push_supplier (CORBA::Environment &ACE_TRY_ENV)
ACE_THROW_SPEC ((CORBA::SystemException))
{
- TAO_EC_ProxyPushSupplier* supplier =
- this->event_channel_->create_proxy_push_supplier ();
-
- PortableServer::ServantBase_var holder = supplier;
-
- RtecEventChannelAdmin::ProxyPushSupplier_var result =
- supplier->_this (ACE_TRY_ENV);
- ACE_CHECK_RETURN (RtecEventChannelAdmin::ProxyPushSupplier::_nil ());
-
- this->collection_->connected (supplier, ACE_TRY_ENV);
- ACE_CHECK_RETURN (RtecEventChannelAdmin::ProxyPushSupplier::_nil ());
-
- return result._retn ();
+ return this->obtain (ACE_TRY_ENV);
}
PortableServer::POA_ptr
@@ -115,67 +35,24 @@ TAO_EC_ConsumerAdmin::_default_POA (CORBA::Environment&)
return PortableServer::POA::_duplicate (this->default_POA_.in ());
}
-// ****************************************************************
-
-void
-TAO_EC_Connect_Consumer::work (TAO_EC_ProxyPushSupplier *supplier,
- CORBA::Environment &ACE_TRY_ENV)
-{
- supplier->connected (this->consumer_, ACE_TRY_ENV);
- ACE_CHECK;
- this->consumer_->connected (supplier, ACE_TRY_ENV);
- ACE_CHECK;
-}
-
-// ****************************************************************
-
-void
-TAO_EC_Reconnect_Consumer::work (TAO_EC_ProxyPushSupplier *supplier,
- CORBA::Environment &ACE_TRY_ENV)
-{
- supplier->reconnected (this->consumer_, ACE_TRY_ENV);
- ACE_CHECK;
- this->consumer_->reconnected (supplier, ACE_TRY_ENV);
- ACE_CHECK;
-}
-
-// ****************************************************************
-
-void
-TAO_EC_Disconnect_Consumer::work (TAO_EC_ProxyPushSupplier *supplier,
- CORBA::Environment &ACE_TRY_ENV)
-{
- supplier->disconnected (this->consumer_, ACE_TRY_ENV);
- ACE_CHECK;
- this->consumer_->disconnected (supplier, ACE_TRY_ENV);
- ACE_CHECK;
-}
-
-// ****************************************************************
-
-void
-TAO_EC_Shutdown_Supplier::work (TAO_EC_ProxyPushSupplier *supplier,
- CORBA::Environment &ACE_TRY_ENV)
-{
- ACE_TRY
- {
- supplier->shutdown (ACE_TRY_ENV);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
- {
- // Ignore exceptions
- }
- ACE_ENDTRY;
-}
-
-
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class TAO_EC_Worker<TAO_EC_ProxyPushSupplier>;
+template class TAO_ESF_Peer_Admin<TAO_EC_Event_Channel,TAO_EC_ProxyPushSupplier,TAO_EC_ProxyPushConsumer>;
+template class TAO_ESF_Proxy_Admin<TAO_EC_Event_Channel,TAO_EC_ProxyPushSupplier>;
+template class TAO_ESF_Worker<TAO_EC_ProxyPushSupplier>;
+template class TAO_ESF_Shutdown_Proxy<TAO_EC_ProxyPushSupplier>;
+template class TAO_ESF_Peer_Connected<TAO_EC_ProxyPushSupplier,TAO_EC_ProxyPushConsumer>;
+template class TAO_ESF_Peer_Reconnected<TAO_EC_ProxyPushSupplier,TAO_EC_ProxyPushConsumer>;
+template class TAO_ESF_Peer_Disconnected<TAO_EC_ProxyPushSupplier,TAO_EC_ProxyPushConsumer>;
#elif defined(ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate TAO_EC_Worker<TAO_EC_ProxyPushSupplier>
+#pragma instantiate TAO_ESF_Peer_Admin<TAO_EC_Event_Channel,TAO_EC_ProxyPushSupplier,TAO_EC_ProxyPushConsumer>
+#pragma instantiate TAO_ESF_Proxy_Admin<TAO_EC_Event_Channel,TAO_EC_ProxyPushSupplier>
+#pragma instantiate TAO_ESF_Worker<TAO_EC_ProxyPushSupplier>
+#pragma instantiate TAO_ESF_Shutdown_Proxy<TAO_EC_ProxyPushSupplier>
+#pragma instantiate TAO_ESF_Peer_Connected<TAO_EC_ProxyPushSupplier,TAO_EC_ProxyPushConsumer>
+#pragma instantiate TAO_ESF_Peer_Reconnected<TAO_EC_ProxyPushSupplier,TAO_EC_ProxyPushConsumer>
+#pragma instantiate TAO_ESF_Peer_Disconnected<TAO_EC_ProxyPushSupplier,TAO_EC_ProxyPushConsumer>
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */