EC_TPC_ProxyConsumer.cpp

Go to the documentation of this file.
00001 // $Id: EC_TPC_ProxyConsumer.cpp 77001 2007-02-12 07:54:49Z johnnyw $
00002 
00003 #include "orbsvcs/Event/EC_TPC_ProxyConsumer.h"
00004 
00005 ACE_RCSID(Event, EC_TPC_ProxyConsumer, "$Id: EC_TPC_ProxyConsumer.cpp 77001 2007-02-12 07:54:49Z johnnyw $")
00006 
00007 #include "orbsvcs/Event/EC_Event_Channel_Base.h"
00008 #include "orbsvcs/Event/EC_TPC_Dispatching.h"
00009 
00010 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00011 
00012 extern unsigned long TAO_EC_TPC_debug_level;
00013 
00014 TAO_EC_TPC_ProxyPushConsumer::TAO_EC_TPC_ProxyPushConsumer (TAO_EC_Event_Channel_Base* ec)
00015 : TAO_EC_Default_ProxyPushConsumer (ec)
00016 {
00017 }
00018 
00019 TAO_EC_TPC_Dispatching*
00020 TAO_EC_TPC_ProxyPushConsumer::tpc_dispatching ()
00021 {
00022   TAO_EC_Dispatching* dispatcher = this->event_channel_->dispatching ();
00023   TAO_EC_TPC_Dispatching* tpcdispatcher =
00024     dynamic_cast<TAO_EC_TPC_Dispatching*>(dispatcher);
00025   return tpcdispatcher;
00026 }
00027 
00028 TAO_EC_TPC_ProxyPushConsumer::~TAO_EC_TPC_ProxyPushConsumer (void)
00029 {
00030   // @@@ Do I need to call the logic to remove the consumer from the
00031   // dispatch map in here?  I'm not sure...  But, if I do, then I need
00032   // to fact that "remove" code out of just the
00033   // disconnect_push_consumer.
00034   if (TAO_EC_TPC_debug_level > 0)
00035     ACE_DEBUG ((LM_DEBUG, "RTEC (%P|%t): inside ~TAO_EC_TPC_ProxyPushConsumer (%x)\n", this));
00036 }
00037 
00038 void
00039 TAO_EC_TPC_ProxyPushConsumer::disconnect_push_consumer ()
00040 {
00041   RtecEventComm::PushConsumer_var emulated_exceptions_suck =
00042     this->_this ();
00043 
00044   this->tpc_dispatching ()->remove_consumer (emulated_exceptions_suck.in ());
00045 
00046   BASECLASS::disconnect_push_consumer ();
00047 }
00048 
00049 TAO_END_VERSIONED_NAMESPACE_DECL

Generated on Sun Jan 27 13:39:46 2008 for TAO_RTEvent by doxygen 1.3.6