diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp | 83 |
1 files changed, 32 insertions, 51 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp index ac02d5b112f..994683d9279 100644 --- a/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp +++ b/TAO/orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp @@ -86,21 +86,18 @@ TAO_EC_Basic_ObserverStrategy::append_observer ( RtecEventChannel::EventChannel::SYNCHRONIZATION_ERROR, RtecEventChannel::EventChannel::CANT_APPEND_OBSERVER)) { - { - ACE_GUARD_THROW_EX ( - ACE_Lock, ace_mon, *this->lock_, - RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR()); - ACE_CHECK_RETURN (0); + ACE_GUARD_THROW_EX (ACE_Lock, ace_mon, *this->lock_, + RtecEventChannelAdmin::EventChannel::SYNCHRONIZATION_ERROR()); + ACE_CHECK_RETURN (0); - this->handle_generator_++; - Observer_Entry entry (this->handle_generator_, - RtecEventChannelAdmin::Observer::_duplicate (obs)); + this->handle_generator_++; + Observer_Entry entry (this->handle_generator_, + RtecEventChannelAdmin::Observer::_duplicate (obs)); - if (this->observers_.bind (entry.handle, entry) == -1) - ACE_THROW_RETURN ( - RtecEventChannelAdmin::EventChannel::CANT_APPEND_OBSERVER(), - 0); - } + if (this->observers_.bind (entry.handle, entry) == -1) + ACE_THROW_RETURN ( + RtecEventChannelAdmin::EventChannel::CANT_APPEND_OBSERVER(), + 0); RtecEventChannelAdmin::ConsumerQOS c_qos; this->fill_qos (c_qos, ACE_TRY_ENV); @@ -136,15 +133,11 @@ TAO_EC_Basic_ObserverStrategy::remove_observer ( } void -TAO_EC_Basic_ObserverStrategy::connected ( - TAO_EC_ProxyPushConsumer *consumer, - CORBA::Environment &ACE_TRY_ENV) +TAO_EC_Basic_ObserverStrategy::connected (TAO_EC_ProxyPushConsumer*, + CORBA::Environment &ACE_TRY_ENV) { - if (consumer->publications ().is_gateway) - return; - - RtecEventChannelAdmin::SupplierQOS s_qos; - this->fill_qos (s_qos, ACE_TRY_ENV); + RtecEventChannelAdmin::ConsumerQOS c_qos; + this->fill_qos (c_qos, ACE_TRY_ENV); ACE_CHECK; int size = 0; @@ -172,21 +165,17 @@ TAO_EC_Basic_ObserverStrategy::connected ( for (int i = 0; i != size; ++i) { - copy[i]->update_supplier (s_qos, ACE_TRY_ENV); + copy[i]->update_consumer (c_qos, ACE_TRY_ENV); ACE_CHECK; } } void -TAO_EC_Basic_ObserverStrategy::disconnected ( - TAO_EC_ProxyPushConsumer* consumer, - CORBA::Environment &ACE_TRY_ENV) +TAO_EC_Basic_ObserverStrategy::disconnected (TAO_EC_ProxyPushConsumer*, + CORBA::Environment &ACE_TRY_ENV) { - if (consumer->publications ().is_gateway) - return; - - RtecEventChannelAdmin::SupplierQOS s_qos; - this->fill_qos (s_qos, ACE_TRY_ENV); + RtecEventChannelAdmin::ConsumerQOS c_qos; + this->fill_qos (c_qos, ACE_TRY_ENV); ACE_CHECK; int size = 0; @@ -214,21 +203,17 @@ TAO_EC_Basic_ObserverStrategy::disconnected ( for (int i = 0; i != size; ++i) { - copy[i]->update_supplier (s_qos, ACE_TRY_ENV); + copy[i]->update_consumer (c_qos, ACE_TRY_ENV); ACE_CHECK; } } void -TAO_EC_Basic_ObserverStrategy::connected ( - TAO_EC_ProxyPushSupplier* supplier, - CORBA::Environment &ACE_TRY_ENV) +TAO_EC_Basic_ObserverStrategy::connected (TAO_EC_ProxyPushSupplier*, + CORBA::Environment &ACE_TRY_ENV) { - if (supplier->subscriptions ().is_gateway) - return; - - RtecEventChannelAdmin::ConsumerQOS c_qos; - this->fill_qos (c_qos, ACE_TRY_ENV); + RtecEventChannelAdmin::SupplierQOS s_qos; + this->fill_qos (s_qos, ACE_TRY_ENV); ACE_CHECK; int size = 0; @@ -256,21 +241,17 @@ TAO_EC_Basic_ObserverStrategy::connected ( for (int i = 0; i != size; ++i) { - copy[i]->update_consumer (c_qos, ACE_TRY_ENV); + copy[i]->update_supplier (s_qos, ACE_TRY_ENV); ACE_CHECK; } } void -TAO_EC_Basic_ObserverStrategy::disconnected ( - TAO_EC_ProxyPushSupplier* supplier, - CORBA::Environment &ACE_TRY_ENV) +TAO_EC_Basic_ObserverStrategy::disconnected (TAO_EC_ProxyPushSupplier*, + CORBA::Environment &ACE_TRY_ENV) { - if (supplier->subscriptions ().is_gateway) - return; - - RtecEventChannelAdmin::ConsumerQOS c_qos; - this->fill_qos (c_qos, ACE_TRY_ENV); + RtecEventChannelAdmin::SupplierQOS s_qos; + this->fill_qos (s_qos, ACE_TRY_ENV); ACE_CHECK; int size = 0; @@ -298,7 +279,7 @@ TAO_EC_Basic_ObserverStrategy::disconnected ( for (int i = 0; i != size; ++i) { - copy[i]->update_consumer (c_qos, ACE_TRY_ENV); + copy[i]->update_supplier (s_qos, ACE_TRY_ENV); ACE_CHECK; } } @@ -335,7 +316,7 @@ TAO_EC_Basic_ObserverStrategy::fill_qos ( sub.dependencies[j].event; RtecEventComm::EventType type = event.header.type; - if (0 < type && type < ACE_ES_EVENT_UNDEFINED) + if (0 <= type && type <= ACE_ES_EVENT_UNDEFINED) continue; headers.insert (event.header, 1); } @@ -390,7 +371,7 @@ TAO_EC_Basic_ObserverStrategy::fill_qos ( pub.publications[j].event; RtecEventComm::EventType type = event.header.type; - if (0 < type && type < ACE_ES_EVENT_UNDEFINED) + if (0 <= type && type <= ACE_ES_EVENT_UNDEFINED) continue; headers.insert (event.header, 1); } |