#include <EC_Reactive_ConsumerControl.h>
Inheritance diagram for TAO_EC_Ping_Consumer:
Public Member Functions | |
TAO_EC_Ping_Consumer (TAO_EC_ConsumerControl *control) | |
virtual void | work (TAO_EC_ProxyPushSupplier *supplier) |
Private Attributes | |
TAO_EC_ConsumerControl * | control_ |
Definition at line 133 of file EC_Reactive_ConsumerControl.h.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_EC_Ping_Consumer::TAO_EC_Ping_Consumer | ( | TAO_EC_ConsumerControl * | control | ) |
Definition at line 8 of file EC_Reactive_ConsumerControl.inl.
00009 : control_ (control) 00010 { 00011 }
void TAO_EC_Ping_Consumer::work | ( | TAO_EC_ProxyPushSupplier * | supplier | ) | [virtual] |
Implements TAO_ESF_Worker< TAO_EC_ProxyPushSupplier >.
Definition at line 214 of file EC_Reactive_ConsumerControl.cpp.
References TAO_EC_ProxyPushSupplier::consumer_non_existent(), TAO_EC_ConsumerControl::consumer_not_exist(), and control_.
00215 { 00216 try 00217 { 00218 CORBA::Boolean disconnected; 00219 CORBA::Boolean non_existent = 00220 supplier->consumer_non_existent (disconnected); 00221 if (non_existent && !disconnected) 00222 { 00223 this->control_->consumer_not_exist (supplier); 00224 } 00225 } 00226 catch (const CORBA::OBJECT_NOT_EXIST&) 00227 { 00228 this->control_->consumer_not_exist (supplier); 00229 } 00230 catch (const CORBA::TRANSIENT&) 00231 { 00232 // This is TAO's minor code for a failed connection, we may 00233 // want to be more lenient in the future.. 00234 // if (transient.minor () == 0x54410085) 00235 this->control_->consumer_not_exist (supplier); 00236 } 00237 catch (const CORBA::Exception&) 00238 { 00239 // Ignore all exceptions 00240 } 00241 }