diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-04-12 00:04:09 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-04-12 00:04:09 +0000 |
commit | df9219ebccbe43179ed011a95fcf321441d5bd20 (patch) | |
tree | 5114c8d9d7cd1531d569462d01275fd52ea7c3c3 /TAO/orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp | |
parent | de17c18507a090080c06b62778fc60f9a17498d6 (diff) | |
download | ATCD-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.cpp | 155 |
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 */ |