diff options
author | huangming <huangming@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-10-17 06:38:42 +0000 |
---|---|---|
committer | huangming <huangming@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-10-17 06:38:42 +0000 |
commit | 33bed1bd6418cb3a9d0df0db2a98e64d996f2b00 (patch) | |
tree | bfc2c8b8602ae097d917159c935bc4e5e30d0a69 /TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.cpp | |
parent | e3fab28e26eab798b3411d166aae47ccf571ec7d (diff) | |
download | ATCD-33bed1bd6418cb3a9d0df0db2a98e64d996f2b00.tar.gz |
ChangeLogTag: Fri Oct 17 01:28:53 2003 Huang-Ming Huang <hh1@cse.wustl.edu>
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.cpp | 58 |
1 files changed, 32 insertions, 26 deletions
diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.cpp index aa1f45aee54..1e6480808cd 100644 --- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.cpp +++ b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.cpp @@ -4,7 +4,6 @@ #include "../Utils/activate_with_id.h" #include "Request_Context_Repository.h" #include "Replication_Service.h" -#include "../Utils/ScopeGuard.h" ACE_RCSID (EventChannel, TAO_FTEC_ProxyPushSupplier, @@ -54,7 +53,7 @@ TAO_FTEC_ProxyPushSupplier::activate ( void TAO_FTEC_ProxyPushSupplier::connect_push_consumer ( RtecEventComm::PushConsumer_ptr push_consumer, const RtecEventChannelAdmin::ConsumerQOS &qos - ACE_ENV_ARG_DECL_NOT_USED) + ACE_ENV_ARG_DECL) ACE_THROW_SPEC ((CORBA::SystemException, RtecEventChannelAdmin::AlreadyConnected, RtecEventChannelAdmin::TypeError)) @@ -72,23 +71,23 @@ void TAO_FTEC_ProxyPushSupplier::connect_push_consumer ( Inherited::connect_push_consumer(push_consumer, qos ACE_ENV_ARG_PARAMETER); ACE_CHECK; - ScopeGuard guard = MakeObjGuard(*this, &Inherited::disconnect_push_supplier); + ACE_TRY { + FTRTEC::Replication_Service* svc = FTRTEC::Replication_Service::instance(); - FTRTEC::Replication_Service* svc = FTRTEC::Replication_Service::instance(); - { ACE_Read_Guard<FTRTEC::Replication_Service> locker(*svc); svc->replicate_request(update, &FtRtecEventChannelAdmin::EventChannelFacade::disconnect_push_supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; + ACE_TRY_CHECK; } - - guard.Dismiss(); + ACE_CATCHALL { + } + ACE_ENDTRY; } -void TAO_FTEC_ProxyPushSupplier::disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) +void TAO_FTEC_ProxyPushSupplier::disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DECL) ACE_THROW_SPEC ((CORBA::SystemException)) { if (Request_Context_Repository().is_executed_request()) @@ -109,8 +108,8 @@ void TAO_FTEC_ProxyPushSupplier::disconnect_push_supplier (ACE_ENV_SINGLE_ARG_DE } -void TAO_FTEC_ProxyPushSupplier::suspend_connection (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -ACE_THROW_SPEC ((CORBA::SystemException)) +void TAO_FTEC_ProxyPushSupplier::suspend_connection (ACE_ENV_SINGLE_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)) { if (Request_Context_Repository().is_executed_request()) return; @@ -120,28 +119,32 @@ ACE_THROW_SPEC ((CORBA::SystemException)) update.param._d(FtRtecEventChannelAdmin::SUSPEND_CONNECTION); Inherited::suspend_connection(ACE_ENV_SINGLE_ARG_PARAMETER); - - ScopeGuard guard = MakeObjGuard(*this, &Inherited::resume_connection); ACE_CHECK; - FTRTEC::Replication_Service* svc = FTRTEC::Replication_Service::instance(); + + ACE_TRY { + FTRTEC::Replication_Service* svc = FTRTEC::Replication_Service::instance(); ACE_Read_Guard<FTRTEC::Replication_Service> locker(*svc); svc->replicate_request(update, &FtRtecEventChannelAdmin::EventChannel::resume_push_supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; + ACE_TRY_CHECK; } - guard.Dismiss(); + ACE_CATCHALL { + this->resume_connection(ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_RE_THROW; + } + ACE_ENDTRY; } -void TAO_FTEC_ProxyPushSupplier::resume_connection (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) -ACE_THROW_SPEC ((CORBA::SystemException)) +void TAO_FTEC_ProxyPushSupplier::resume_connection (ACE_ENV_SINGLE_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)) { if (Request_Context_Repository().is_executed_request()) return; - Request_Context_Repository().set_object_id(id()); + Request_Context_Repository().set_object_id(id() ACE_ENV_ARG_PARAMETER); FtRtecEventChannelAdmin::Operation update; update.object_id = id(); update.param._d(FtRtecEventChannelAdmin::RESUME_CONNECTION); @@ -149,19 +152,21 @@ ACE_THROW_SPEC ((CORBA::SystemException)) Inherited::resume_connection(ACE_ENV_SINGLE_ARG_PARAMETER); ACE_CHECK; - ScopeGuard guard = MakeObjGuard(*this, &Inherited::suspend_connection); + ACE_TRY { + FTRTEC::Replication_Service* svc = FTRTEC::Replication_Service::instance(); - FTRTEC::Replication_Service* svc = FTRTEC::Replication_Service::instance(); - { ACE_Read_Guard<FTRTEC::Replication_Service> locker(*svc); svc->replicate_request(update, &FtRtecEventChannelAdmin::EventChannel::suspend_push_supplier ACE_ENV_ARG_PARAMETER); - ACE_CHECK; + ACE_TRY_CHECK; } - - guard.Dismiss(); + ACE_CATCHALL { + this->suspend_connection(ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_RE_THROW; + } + ACE_ENDTRY; } @@ -178,7 +183,8 @@ void TAO_FTEC_ProxyPushSupplier::get_state(FtRtecEventChannelAdmin::ProxyPushSup } -void TAO_FTEC_ProxyPushSupplier::set_state(const FtRtecEventChannelAdmin::ProxyPushSupplierStat& state) +void TAO_FTEC_ProxyPushSupplier::set_state(const FtRtecEventChannelAdmin::ProxyPushSupplierStat& state + ACE_ENV_ARG_DECL) { if (!CORBA::is_nil(state.parameter.info().push_consumer.in())) { |