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.

Detailed Description

Definition at line 111 of file EC_Kokyu_Dispatching.h.


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

References TAO_EC_ProxyPushSupplier::_incr_refcnt(), event_, and proxy_.

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 175 of file EC_Kokyu_Dispatching.cpp.

References TAO_EC_ProxyPushSupplier::_decr_refcnt(), and proxy_.

00176 {
00177   this->proxy_->_decr_refcnt ();
00178 }


Member Function Documentation

int TAO_EC_Kokyu_Push_Command::execute ( void   )  [virtual]

Command callback.

Definition at line 181 of file EC_Kokyu_Dispatching.cpp.

References event_, proxy_, and TAO_EC_ProxyPushSupplier::push_to_consumer().

00182 {
00183 
00184   try
00185     {
00186       //ACE_DEBUG ((LM_DEBUG,
00187       //            "(%t) Command object executed.\n"));
00188 
00189       this->proxy_->push_to_consumer (this->consumer_.in (),
00190                                       this->event_);
00191     }
00192   catch (const CORBA::Exception&)
00193     {
00194       return -1;
00195     }
00196 
00197   return 0;
00198 }


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 132 of file EC_Kokyu_Dispatching.h.

RtecEventComm::EventSet TAO_EC_Kokyu_Push_Command::event_ [private]

The event.

Definition at line 135 of file EC_Kokyu_Dispatching.h.

Referenced by execute(), and TAO_EC_Kokyu_Push_Command().

TAO_EC_ProxyPushSupplier* TAO_EC_Kokyu_Push_Command::proxy_ [private]

The proxy.

Definition at line 129 of file EC_Kokyu_Dispatching.h.

Referenced by execute(), TAO_EC_Kokyu_Push_Command(), and ~TAO_EC_Kokyu_Push_Command().


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:44:30 2010 for TAO_RTEvent by  doxygen 1.4.7