TAO_EC_Kokyu_Push_Command Class Reference

#include <EC_Kokyu_Dispatching.h>

Collaboration diagram for TAO_EC_Kokyu_Push_Command:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_EC_Kokyu_Push_Command (TAO_EC_ProxyPushSupplier *proxy, RtecEventComm::PushConsumer_ptr consumer, RtecEventComm::EventSet &event, ACE_Allocator *allocator)
 Constructor.

virtual int execute (void)
 Command callback.


Protected Member Functions

virtual ~TAO_EC_Kokyu_Push_Command (void)

Private Attributes

TAO_EC_ProxyPushSupplierproxy_
 The proxy.

RtecEventComm::PushConsumer_var consumer_
 The consumer connected to the proxy when the event was pushed.

RtecEventComm::EventSet event_
 The event.


Constructor & Destructor Documentation

ACE_INLINE TAO_EC_Kokyu_Push_Command::TAO_EC_Kokyu_Push_Command TAO_EC_ProxyPushSupplier proxy,
RtecEventComm::PushConsumer_ptr  consumer,
RtecEventComm::EventSet event,
ACE_Allocator allocator
 

Constructor.

Definition at line 19 of file EC_Kokyu_Dispatching.i.

References TAO_EC_ProxyPushSupplier::_incr_refcnt(), and RtecEventComm::EventSet.

00024   :  Kokyu::Dispatch_Command (0,allocator),
00025      proxy_ (proxy),
00026      consumer_ (RtecEventComm::PushConsumer::_duplicate (consumer))
00027 {
00028   //
00029   // Efficient copy, steal the buffer from <event>
00030   // We cannot do this on the initialization because get_buffer()
00031   // could get called first, effectively setting maximum() and
00032   // length() to 0!
00033   //
00034   CORBA::ULong maximum = event.maximum ();
00035   CORBA::ULong length = event.length ();
00036   RtecEventComm::Event* buffer = event.get_buffer (1);
00037   event_.replace (maximum, length, buffer, 1);
00038 
00039   this->proxy_->_incr_refcnt ();
00040 }

TAO_EC_Kokyu_Push_Command::~TAO_EC_Kokyu_Push_Command void   )  [protected, virtual]
 

Definition at line 181 of file EC_Kokyu_Dispatching.cpp.

References TAO_EC_ProxyPushSupplier::_decr_refcnt().

00182 {
00183   this->proxy_->_decr_refcnt ();
00184 }


Member Function Documentation

int TAO_EC_Kokyu_Push_Command::execute void   )  [virtual]
 

Command callback.

Definition at line 187 of file EC_Kokyu_Dispatching.cpp.

References ACE_CATCHANY, ACE_DECLARE_NEW_CORBA_ENV, ACE_ENDTRY, ACE_ENV_ARG_PARAMETER, ACE_TRY, ACE_TRY_CHECK, and TAO_EC_ProxyPushSupplier::push_to_consumer().

00188 {
00189   ACE_DECLARE_NEW_CORBA_ENV;
00190 
00191   ACE_TRY
00192     {
00193       //ACE_DEBUG ((LM_DEBUG,
00194       //            "(%t) Command object executed.\n"));
00195 
00196       this->proxy_->push_to_consumer (this->consumer_.in (),
00197                                       this->event_
00198                                       ACE_ENV_ARG_PARAMETER);
00199       ACE_TRY_CHECK;
00200     }
00201   ACE_CATCHANY
00202     {
00203       return -1;
00204     }
00205   ACE_ENDTRY;
00206 
00207   return 0;
00208 }


Member Data Documentation

RtecEventComm::PushConsumer_var TAO_EC_Kokyu_Push_Command::consumer_ [private]
 

The consumer connected to the proxy when the event was pushed.

Definition at line 134 of file EC_Kokyu_Dispatching.h.

RtecEventComm::EventSet TAO_EC_Kokyu_Push_Command::event_ [private]
 

The event.

Definition at line 137 of file EC_Kokyu_Dispatching.h.

TAO_EC_ProxyPushSupplier* TAO_EC_Kokyu_Push_Command::proxy_ [private]
 

The proxy.

Definition at line 131 of file EC_Kokyu_Dispatching.h.


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