#include <EC_Reactive_SupplierControl.h>
Inheritance diagram for TAO_EC_Ping_Supplier:
Public Member Functions | |
TAO_EC_Ping_Supplier (TAO_EC_SupplierControl *control) | |
virtual void | work (TAO_EC_ProxyPushConsumer *consumer) |
Private Attributes | |
TAO_EC_SupplierControl * | control_ |
Definition at line 144 of file EC_Reactive_SupplierControl.h.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_EC_Ping_Supplier::TAO_EC_Ping_Supplier | ( | TAO_EC_SupplierControl * | control | ) |
Definition at line 8 of file EC_Reactive_SupplierControl.inl.
00009 : control_ (control) 00010 { 00011 }
void TAO_EC_Ping_Supplier::work | ( | TAO_EC_ProxyPushConsumer * | consumer | ) | [virtual] |
Implements TAO_ESF_Worker< TAO_EC_ProxyPushConsumer >.
Definition at line 205 of file EC_Reactive_SupplierControl.cpp.
References control_, TAO_EC_ProxyPushConsumer::supplier_non_existent(), and TAO_EC_SupplierControl::supplier_not_exist().
00206 { 00207 try 00208 { 00209 CORBA::Boolean disconnected; 00210 CORBA::Boolean non_existent = 00211 consumer->supplier_non_existent (disconnected); 00212 if (non_existent && !disconnected) 00213 { 00214 this->control_->supplier_not_exist (consumer); 00215 } 00216 } 00217 catch (const CORBA::OBJECT_NOT_EXIST&) 00218 { 00219 this->control_->supplier_not_exist (consumer); 00220 } 00221 catch (const CORBA::TRANSIENT&) 00222 { 00223 // This is TAO's minor code for a failed connection, we may 00224 // want to be more lenient in the future.. 00225 // if (transient.minor () == 0x54410085) 00226 this->control_->supplier_not_exist (consumer); 00227 } 00228 catch (const CORBA::Exception&) 00229 { 00230 // Ignore all exceptions 00231 } 00232 }