TAO_CEC_Ping_Push_Supplier Class Reference

#include <CEC_Reactive_SupplierControl.h>

Inheritance diagram for TAO_CEC_Ping_Push_Supplier:

Inheritance graph
[legend]
Collaboration diagram for TAO_CEC_Ping_Push_Supplier:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_CEC_Ping_Push_Supplier (TAO_CEC_SupplierControl *control)
virtual void work (TAO_CEC_ProxyPushConsumer *consumer)

Private Attributes

TAO_CEC_SupplierControlcontrol_

Constructor & Destructor Documentation

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.i.

00010   :  control_ (control)
00011 {
00012 }


Member Function Documentation

void TAO_CEC_Ping_Push_Supplier::work TAO_CEC_ProxyPushConsumer consumer  )  [virtual]
 

Implements TAO_ESF_Worker< TAO_CEC_ProxyPushConsumer >.

Definition at line 421 of file CEC_Reactive_SupplierControl.cpp.

References ACE_CATCH, ACE_CATCHANY, ACE_ENDTRY, ACE_ENV_ARG_PARAMETER, ACE_TRY, ACE_TRY_CHECK, TAO_CEC_SupplierControl::need_to_disconnect(), and TAO_CEC_SupplierControl::supplier_not_exist().

00423 {
00424   ACE_TRY
00425     {
00426       CORBA::Boolean disconnected;
00427       CORBA::Boolean non_existent =
00428         consumer->supplier_non_existent (disconnected
00429                                          ACE_ENV_ARG_PARAMETER);
00430       ACE_TRY_CHECK;
00431       if (non_existent && !disconnected)
00432         {
00433           this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER);
00434           ACE_TRY_CHECK;
00435         }
00436     }
00437   ACE_CATCH (CORBA::OBJECT_NOT_EXIST, ex)
00438     {
00439       this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER);
00440       ACE_TRY_CHECK;
00441     }
00442   ACE_CATCH (CORBA::TRANSIENT, transient)
00443     {
00444       if (this->control_->need_to_disconnect (consumer))
00445         {
00446           this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER);
00447           ACE_TRY_CHECK;
00448         }
00449     }
00450   ACE_CATCHANY
00451     {
00452       // Ignore all exceptions
00453     }
00454   ACE_ENDTRY;
00455 }


Member Data Documentation

TAO_CEC_SupplierControl* TAO_CEC_Ping_Push_Supplier::control_ [private]
 

Definition at line 188 of file CEC_Reactive_SupplierControl.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 13:19:34 2006 for TAO_CosEvent by doxygen 1.3.6