TAO_EC_TPC_ProxyPushSupplier Class Reference

#include <EC_TPC_ProxySupplier.h>

Inheritance diagram for TAO_EC_TPC_ProxyPushSupplier:

Inheritance graph
[legend]
Collaboration diagram for TAO_EC_TPC_ProxyPushSupplier:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_EC_TPC_ProxyPushSupplier (TAO_EC_Event_Channel_Base *event_channel, int validate_connection)
 Constructor.
virtual ~TAO_EC_TPC_ProxyPushSupplier (void)
 Dtor.
virtual void connect_push_consumer (RtecEventComm::PushConsumer_ptr push_consumer, const RtecEventChannelAdmin::ConsumerQOS &qos)
virtual void disconnect_push_supplier (void)
 Disconnect this from.

Private Types

typedef TAO_EC_Default_ProxyPushSupplier BASECLASS

Private Member Functions

TAO_EC_TPC_Dispatchingtpc_dispatching ()

Detailed Description

Definition at line 26 of file EC_TPC_ProxySupplier.h.


Member Typedef Documentation

typedef TAO_EC_Default_ProxyPushSupplier TAO_EC_TPC_ProxyPushSupplier::BASECLASS [private]

Definition at line 47 of file EC_TPC_ProxySupplier.h.


Constructor & Destructor Documentation

ACE_INLINE TAO_EC_TPC_ProxyPushSupplier::TAO_EC_TPC_ProxyPushSupplier ( TAO_EC_Event_Channel_Base event_channel,
int  validate_connection 
)

Constructor.

Definition at line 10 of file EC_TPC_ProxySupplier.inl.

References ACE_DEBUG, LM_DEBUG, and TAO_EC_TPC_debug_level.

00011 : TAO_EC_Default_ProxyPushSupplier (ec, validate_connection)
00012 {
00013   if (TAO_EC_TPC_debug_level > 0)        
00014     ACE_DEBUG ((LM_DEBUG, "(%P|%t) EC_TPC_ProxyPushSupplier::CTOR (%@)\n", this));
00015 }

TAO_EC_TPC_ProxyPushSupplier::~TAO_EC_TPC_ProxyPushSupplier ( void   )  [virtual]

Dtor.

Definition at line 18 of file EC_TPC_ProxySupplier.cpp.

00019 {
00020 
00021 }


Member Function Documentation

void TAO_EC_TPC_ProxyPushSupplier::connect_push_consumer ( RtecEventComm::PushConsumer_ptr  push_consumer,
const RtecEventChannelAdmin::ConsumerQOS qos 
) [virtual]

These are overriden from the base class in order to maintain the map in the dispatcher class.

Reimplemented from TAO_EC_Default_ProxyPushSupplier.

Definition at line 51 of file EC_TPC_ProxySupplier.cpp.

References ACE_DEBUG, TAO_EC_TPC_Dispatching::add_consumer(), TAO_EC_Default_ProxyPushSupplier::connect_push_consumer(), LM_DEBUG, and tpc_dispatching().

00054 {
00055   BASECLASS::connect_push_consumer (push_consumer, qos);
00056 
00057   if (TAO_EC_TPC_debug_level > 0)
00058     ACE_DEBUG ((LM_DEBUG, "EC (%P|%t): EC_ProxySupplier(%@): refcount=%u,consumer=%@\n",
00059               this, this->refcount_, this->consumer_.in()));
00060 
00061   TAO_EC_TPC_Dispatching* tpcdispatcher = this->tpc_dispatching ();
00062 
00063   // the new dispatching task gets automatically created
00064   tpcdispatcher->add_consumer (push_consumer);
00065 }

void TAO_EC_TPC_ProxyPushSupplier::disconnect_push_supplier ( void   )  [virtual]

Disconnect this from.

Reimplemented from TAO_EC_Default_ProxyPushSupplier.

Definition at line 24 of file EC_TPC_ProxySupplier.cpp.

References ACE_DEBUG, TAO_EC_Default_ProxyPushSupplier::disconnect_push_supplier(), and LM_DEBUG.

00025 {
00026   if (TAO_EC_TPC_debug_level > 0)
00027     ACE_DEBUG ((LM_DEBUG, "EC (%P|%t): enter EC_TPC_ProxySupplier::disconnect_push_supplier (%@): refcount=%u,consumer=%@\n",
00028                 this,
00029                 this->refcount_,
00030                 this->consumer_.in()));
00031 
00032   if (this->is_connected_i ())
00033     {
00034       this->tpc_dispatching ()->remove_consumer (this->consumer_.in());
00035     }
00036   BASECLASS::disconnect_push_supplier ();
00037 
00038   if (TAO_EC_TPC_debug_level > 0)
00039     ACE_DEBUG ((LM_DEBUG, "EC (%P|%t): leave EC_TPC_ProxySupplier::disconnect_push_supplier (%@)\n", this));
00040 }

TAO_EC_TPC_Dispatching * TAO_EC_TPC_ProxyPushSupplier::tpc_dispatching (  )  [private]

Definition at line 43 of file EC_TPC_ProxySupplier.cpp.

References TAO_EC_Event_Channel_Base::dispatching(), and TAO_EC_ProxyPushSupplier::event_channel_.

Referenced by connect_push_consumer().

00044 {
00045   TAO_EC_Dispatching* dispatcher = this->event_channel_->dispatching ();
00046 
00047   return dynamic_cast <TAO_EC_TPC_Dispatching*> (dispatcher);
00048 }


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