#include <CEC_Reactive_SupplierControl.h>
Inheritance diagram for TAO_CEC_Ping_Push_Supplier:
Public Member Functions | |
TAO_CEC_Ping_Push_Supplier (TAO_CEC_SupplierControl *control) | |
virtual void | work (TAO_CEC_ProxyPushConsumer *consumer) |
Private Attributes | |
TAO_CEC_SupplierControl * | control_ |
Definition at line 175 of file CEC_Reactive_SupplierControl.h.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_CEC_Ping_Push_Supplier::TAO_CEC_Ping_Push_Supplier | ( | TAO_CEC_SupplierControl * | control | ) |
Definition at line 9 of file CEC_Reactive_SupplierControl.inl.
00010 : control_ (control) 00011 { 00012 }
void TAO_CEC_Ping_Push_Supplier::work | ( | TAO_CEC_ProxyPushConsumer * | consumer | ) | [virtual] |
Implements TAO_ESF_Worker< TAO_CEC_ProxyPushConsumer >.
Definition at line 385 of file CEC_Reactive_SupplierControl.cpp.
References control_, TAO_CEC_ProxyPushConsumer::supplier_non_existent(), and TAO_CEC_SupplierControl::supplier_not_exist().
00386 { 00387 try 00388 { 00389 CORBA::Boolean disconnected; 00390 CORBA::Boolean non_existent = 00391 consumer->supplier_non_existent (disconnected); 00392 if (non_existent && !disconnected) 00393 { 00394 this->control_->supplier_not_exist (consumer); 00395 } 00396 } 00397 catch (const CORBA::OBJECT_NOT_EXIST& ) 00398 { 00399 this->control_->supplier_not_exist (consumer); 00400 } 00401 catch (const CORBA::TRANSIENT& ) 00402 { 00403 if (this->control_->need_to_disconnect (consumer)) 00404 { 00405 this->control_->supplier_not_exist (consumer); 00406 } 00407 } 00408 catch (const CORBA::Exception&) 00409 { 00410 // Ignore all exceptions 00411 } 00412 }