#include <CEC_Reactive_SupplierControl.h>
Inheritance diagram for TAO_CEC_Ping_Pull_Supplier:
Public Member Functions | |
TAO_CEC_Ping_Pull_Supplier (TAO_CEC_SupplierControl *control) | |
virtual void | work (TAO_CEC_ProxyPullConsumer *consumer) |
Private Attributes | |
TAO_CEC_SupplierControl * | control_ |
Definition at line 203 of file CEC_Reactive_SupplierControl.h.
ACE_INLINE TAO_CEC_Ping_Pull_Supplier::TAO_CEC_Ping_Pull_Supplier | ( | TAO_CEC_SupplierControl * | control | ) |
Definition at line 29 of file CEC_Reactive_SupplierControl.inl.
00030 : control_ (control) 00031 { 00032 }
void TAO_CEC_Ping_Pull_Supplier::work | ( | TAO_CEC_ProxyPullConsumer * | consumer | ) | [virtual] |
Implements TAO_ESF_Worker< TAO_CEC_ProxyPullConsumer >.
Definition at line 451 of file CEC_Reactive_SupplierControl.cpp.
References control_, TAO_CEC_ProxyPullConsumer::supplier_non_existent(), and TAO_CEC_SupplierControl::supplier_not_exist().
00452 { 00453 try 00454 { 00455 CORBA::Boolean disconnected; 00456 CORBA::Boolean non_existent = 00457 consumer->supplier_non_existent (disconnected); 00458 if (non_existent && !disconnected) 00459 { 00460 this->control_->supplier_not_exist (consumer); 00461 } 00462 } 00463 catch (const CORBA::OBJECT_NOT_EXIST& ) 00464 { 00465 this->control_->supplier_not_exist (consumer); 00466 } 00467 catch (const CORBA::TRANSIENT& ) 00468 { 00469 if (this->control_->need_to_disconnect (consumer)) 00470 { 00471 this->control_->supplier_not_exist (consumer); 00472 } 00473 } 00474 catch (const CORBA::Exception&) 00475 { 00476 // Ignore all exceptions 00477 } 00478 }