TAO_EC_Ping_Consumer Class Reference

#include <EC_Reactive_ConsumerControl.h>

Inheritance diagram for TAO_EC_Ping_Consumer:

Inheritance graph
[legend]
Collaboration diagram for TAO_EC_Ping_Consumer:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_EC_Ping_Consumer (TAO_EC_ConsumerControl *control)
virtual void work (TAO_EC_ProxyPushSupplier *supplier)

Private Attributes

TAO_EC_ConsumerControlcontrol_

Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_EC_Ping_Consumer::TAO_EC_Ping_Consumer TAO_EC_ConsumerControl control  ) 
 

Definition at line 8 of file EC_Reactive_ConsumerControl.i.

00009   :  control_ (control)
00010 {
00011 }


Member Function Documentation

void TAO_EC_Ping_Consumer::work TAO_EC_ProxyPushSupplier supplier  )  [virtual]
 

Implements TAO_ESF_Worker< TAO_EC_ProxyPushSupplier >.

Definition at line 240 of file EC_Reactive_ConsumerControl.cpp.

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

00242 {
00243   ACE_TRY
00244     {
00245       CORBA::Boolean disconnected;
00246       CORBA::Boolean non_existent =
00247         supplier->consumer_non_existent (disconnected
00248                                           ACE_ENV_ARG_PARAMETER);
00249       ACE_TRY_CHECK;
00250       if (non_existent && !disconnected)
00251         {
00252           this->control_->consumer_not_exist (supplier ACE_ENV_ARG_PARAMETER);
00253           ACE_TRY_CHECK;
00254         }
00255     }
00256   ACE_CATCH (CORBA::OBJECT_NOT_EXIST, ex)
00257     {
00258       this->control_->consumer_not_exist (supplier ACE_ENV_ARG_PARAMETER);
00259       ACE_TRY_CHECK;
00260     }
00261   ACE_CATCH (CORBA::TRANSIENT, transient)
00262     {
00263       // This is TAO's minor code for a failed connection, we may
00264       // want to be more lenient in the future..
00265       // if (transient.minor () == 0x54410085)
00266       this->control_->consumer_not_exist (supplier ACE_ENV_ARG_PARAMETER);
00267       ACE_TRY_CHECK;
00268     }
00269   ACE_CATCHANY
00270     {
00271       // Ignore all exceptions
00272     }
00273   ACE_ENDTRY;
00274 }


Member Data Documentation

TAO_EC_ConsumerControl* TAO_EC_Ping_Consumer::control_ [private]
 

Definition at line 144 of file EC_Reactive_ConsumerControl.h.

Referenced by work().


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 13:15:11 2006 for TAO_RTEvent by doxygen 1.3.6