diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp | 22 |
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&) { |