summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp
index e506c0bd59d..090bb115750 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp
@@ -3,6 +3,7 @@
#include "EC_ProxySupplier.h"
#include "EC_Dispatching.h"
#include "EC_Filter_Builder.h"
+#include "EC_QOS_Info.h"
#include "EC_Event_Channel.h"
#if ! defined (__ACE_INLINE__)
@@ -187,7 +188,10 @@ TAO_EC_ProxyPushSupplier::connect_push_consumer (
this->child_ =
this->event_channel_->filter_builder ()->build (this,
- this->qos_);
+ this->qos_,
+ ACE_TRY_ENV);
+ ACE_CHECK;
+
this->adopt_child (this->child_);
}
@@ -433,6 +437,22 @@ TAO_EC_ProxyPushSupplier::can_match (
return this->child_->can_match (header);
}
+int
+TAO_EC_ProxyPushSupplier::add_dependencies (
+ const RtecEventComm::EventHeader &header,
+ const TAO_EC_QOS_Info &qos_info,
+ CORBA::Environment &ACE_TRY_ENV)
+{
+ ACE_GUARD_THROW_EX (
+ ACE_Lock, ace_mon, *this->lock_,
+ RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR ());
+ ACE_CHECK_RETURN (0);
+
+ return this->child_->add_dependencies (header,
+ qos_info,
+ ACE_TRY_ENV);
+}
+
PortableServer::POA_ptr
TAO_EC_ProxyPushSupplier::_default_POA (CORBA::Environment&)
{