summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.cpp
diff options
context:
space:
mode:
authorhuangming <huangming@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-10-17 06:38:42 +0000
committerhuangming <huangming@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-10-17 06:38:42 +0000
commit33bed1bd6418cb3a9d0df0db2a98e64d996f2b00 (patch)
treebfc2c8b8602ae097d917159c935bc4e5e30d0a69 /TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/FTEC_ProxySupplier.cpp
parente3fab28e26eab798b3411d166aae47ccf571ec7d (diff)
downloadATCD-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.cpp58
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()))
{