TAO_EC_Push_Command Class Reference

#include <EC_Dispatching_Task.h>

Inheritance diagram for TAO_EC_Push_Command:

Inheritance graph
[legend]
Collaboration diagram for TAO_EC_Push_Command:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_EC_Push_Command (TAO_EC_ProxyPushSupplier *proxy, RtecEventComm::PushConsumer_ptr consumer, RtecEventComm::EventSet &event, ACE_Data_Block *data_block, ACE_Allocator *mb_allocator)
 Constructor.

virtual ~TAO_EC_Push_Command (void)
 Destructor.

virtual int execute (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
 Command callback.


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_Push_Command::TAO_EC_Push_Command TAO_EC_ProxyPushSupplier proxy,
RtecEventComm::PushConsumer_ptr  consumer,
RtecEventComm::EventSet event,
ACE_Data_Block data_block,
ACE_Allocator mb_allocator
 

Constructor.

Definition at line 70 of file EC_Dispatching_Task.i.

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

00076   :  TAO_EC_Dispatch_Command (data_block, mb_allocator),
00077      proxy_ (proxy),
00078      consumer_ (RtecEventComm::PushConsumer::_duplicate (consumer))
00079 
00080 {
00081   //
00082   // Efficient copy, steal the buffer from <event>
00083   // We cannot do this on the initialization because get_buffer()
00084   // could get called first, effectively setting maximum() and
00085   // length() to 0!
00086   //
00087   CORBA::ULong maximum = event.maximum ();
00088   CORBA::ULong length = event.length ();
00089   RtecEventComm::Event* buffer = event.get_buffer (1);
00090   event_.replace (maximum, length, buffer, 1);
00091 
00092   this->proxy_->_incr_refcnt ();
00093 }

TAO_EC_Push_Command::~TAO_EC_Push_Command void   )  [virtual]
 

Destructor.

Definition at line 196 of file EC_Dispatching_Task.cpp.

References TAO_EC_ProxyPushSupplier::_decr_refcnt().

00197 {
00198   this->proxy_->_decr_refcnt ();
00199 }


Member Function Documentation

int TAO_EC_Push_Command::execute ACE_ENV_SINGLE_ARG_DECL_NOT_USED   )  [virtual]
 

Command callback.

Implements TAO_EC_Dispatch_Command.

Definition at line 202 of file EC_Dispatching_Task.cpp.

References ACE_ENV_ARG_PARAMETER, and TAO_EC_ProxyPushSupplier::push_to_consumer().

00203 {
00204   this->proxy_->push_to_consumer (this->consumer_.in (),
00205                                   this->event_
00206                                    ACE_ENV_ARG_PARAMETER);
00207   return 0;
00208 }


Member Data Documentation

RtecEventComm::PushConsumer_var TAO_EC_Push_Command::consumer_ [private]
 

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

Definition at line 182 of file EC_Dispatching_Task.h.

RtecEventComm::EventSet TAO_EC_Push_Command::event_ [private]
 

The event.

Definition at line 185 of file EC_Dispatching_Task.h.

TAO_EC_ProxyPushSupplier* TAO_EC_Push_Command::proxy_ [private]
 

The proxy.

Definition at line 179 of file EC_Dispatching_Task.h.


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