TAO_CEC_Ping_Push_Consumer Class Reference

#include <CEC_Reactive_ConsumerControl.h>

Inheritance diagram for TAO_CEC_Ping_Push_Consumer:

Inheritance graph
[legend]
Collaboration diagram for TAO_CEC_Ping_Push_Consumer:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_CEC_Ping_Push_Consumer (TAO_CEC_ConsumerControl *control)
virtual void work (TAO_CEC_ProxyPushSupplier *supplier)

Private Attributes

TAO_CEC_ConsumerControlcontrol_

Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_CEC_Ping_Push_Consumer::TAO_CEC_Ping_Push_Consumer TAO_CEC_ConsumerControl control  ) 
 

Definition at line 9 of file CEC_Reactive_ConsumerControl.i.

00010   :  control_ (control)
00011 {
00012 }


Member Function Documentation

void TAO_CEC_Ping_Push_Consumer::work TAO_CEC_ProxyPushSupplier supplier  )  [virtual]
 

Implements TAO_ESF_Worker< TAO_CEC_ProxyPushSupplier >.

Definition at line 417 of file CEC_Reactive_ConsumerControl.cpp.

References ACE_CATCH, ACE_CATCHANY, ACE_ENDTRY, ACE_ENV_ARG_PARAMETER, ACE_TRY, ACE_TRY_CHECK, TAO_CEC_ConsumerControl::consumer_not_exist(), control_, and TAO_CEC_ConsumerControl::need_to_disconnect().

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


Member Data Documentation

TAO_CEC_ConsumerControl* TAO_CEC_Ping_Push_Consumer::control_ [private]
 

Definition at line 187 of file CEC_Reactive_ConsumerControl.h.

Referenced by work().


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