TAO_CEC_ConsumerAdmin Class Reference

ConsumerAdmin. More...

#include <CEC_ConsumerAdmin.h>

Collaboration diagram for TAO_CEC_ConsumerAdmin:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_CEC_ConsumerAdmin (TAO_CEC_EventChannel *event_channel)
virtual ~TAO_CEC_ConsumerAdmin (void)
 destructor...
void for_each (TAO_ESF_Worker< TAO_CEC_ProxyPushSupplier > *worker)
 For each elements call <worker->work()>.
void for_each (TAO_ESF_Worker< TAO_CEC_ProxyPullSupplier > *worker)
void push (const CORBA::Any &event)
 Push the event to all the consumers.
virtual void connected (TAO_CEC_ProxyPushSupplier *)
virtual void reconnected (TAO_CEC_ProxyPushSupplier *)
virtual void disconnected (TAO_CEC_ProxyPushSupplier *)
virtual void connected (TAO_CEC_ProxyPullSupplier *)
virtual void reconnected (TAO_CEC_ProxyPullSupplier *)
virtual void disconnected (TAO_CEC_ProxyPullSupplier *)
virtual void shutdown (void)
virtual CosEventChannelAdmin::ProxyPushSupplier_ptr obtain_push_supplier (void)
virtual CosEventChannelAdmin::ProxyPullSupplier_ptr obtain_pull_supplier (void)
virtual PortableServer::POA_ptr _default_POA (void)

Private Attributes

TAO_CEC_EventChannelevent_channel_
 The Event Channel we belong to.
PortableServer::POA_var default_POA_
 Store the default POA.
TAO_ESF_Proxy_Admin< TAO_CEC_EventChannel,
TAO_CEC_ProxyPushSupplier,
CosEventChannelAdmin::ProxyPushSupplier
push_admin_
 Implement the push side of this class.
TAO_ESF_Proxy_Admin< TAO_CEC_EventChannel,
TAO_CEC_ProxyPullSupplier,
CosEventChannelAdmin::ProxyPullSupplier
pull_admin_
 Implement the pull side of this class.

Detailed Description

ConsumerAdmin.

Implements the ConsumerAdmin interface, i.e. the factory for ProxyPushSupplier objects. = MEMORY MANAGMENT It does not assume ownership of the TAO_CEC_EventChannel object; but it *does* assume ownership of the TAO_CEC_ProxyPushSupplier_Set object. = LOCKING No provisions for locking, access must be serialized externally. = TODO

Definition at line 50 of file CEC_ConsumerAdmin.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_CEC_ConsumerAdmin::TAO_CEC_ConsumerAdmin ( TAO_CEC_EventChannel event_channel  ) 

constructor. If <supplier_set> is nil then it builds one using the event_channel argument. In any case it assumes ownership.

Definition at line 21 of file CEC_ConsumerAdmin.cpp.

00022   :  event_channel_ (ec),
00023      push_admin_ (ec),
00024      pull_admin_ (ec)
00025 {
00026   this->default_POA_ =
00027     this->event_channel_->consumer_poa ();
00028 }

TAO_CEC_ConsumerAdmin::~TAO_CEC_ConsumerAdmin ( void   )  [virtual]

destructor...

Definition at line 30 of file CEC_ConsumerAdmin.cpp.

00031 {
00032 }


Member Function Documentation

PortableServer::POA_ptr TAO_CEC_ConsumerAdmin::_default_POA ( void   )  [virtual]

Definition at line 103 of file CEC_ConsumerAdmin.cpp.

Referenced by TAO_CEC_EventChannel::shutdown().

00104 {
00105   return PortableServer::POA::_duplicate (this->default_POA_.in ());
00106 }

void TAO_CEC_ConsumerAdmin::connected ( TAO_CEC_ProxyPullSupplier  )  [virtual]

Definition at line 65 of file CEC_ConsumerAdmin.cpp.

References TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::connected(), and pull_admin_.

00066 {
00067   this->pull_admin_.connected (supplier);
00068 }

void TAO_CEC_ConsumerAdmin::connected ( TAO_CEC_ProxyPushSupplier  )  [virtual]

Used to inform the EC that a Supplier has connected or disconnected from it.

Definition at line 47 of file CEC_ConsumerAdmin.cpp.

References TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::connected(), and push_admin_.

Referenced by TAO_CEC_EventChannel::connected().

00048 {
00049   this->push_admin_.connected (supplier);
00050 }

void TAO_CEC_ConsumerAdmin::disconnected ( TAO_CEC_ProxyPullSupplier  )  [virtual]

Definition at line 77 of file CEC_ConsumerAdmin.cpp.

References TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::disconnected(), and pull_admin_.

00078 {
00079   this->pull_admin_.disconnected (supplier);
00080 }

void TAO_CEC_ConsumerAdmin::disconnected ( TAO_CEC_ProxyPushSupplier  )  [virtual]

Definition at line 59 of file CEC_ConsumerAdmin.cpp.

References TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::disconnected(), and push_admin_.

Referenced by TAO_CEC_EventChannel::disconnected().

00060 {
00061   this->push_admin_.disconnected (supplier);
00062 }

ACE_INLINE void TAO_CEC_ConsumerAdmin::for_each ( TAO_ESF_Worker< TAO_CEC_ProxyPullSupplier > *  worker  ) 

Definition at line 16 of file CEC_ConsumerAdmin.inl.

References TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::for_each(), and pull_admin_.

00017 {
00018   this->pull_admin_.for_each (worker);
00019 }

TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE void TAO_CEC_ConsumerAdmin::for_each ( TAO_ESF_Worker< TAO_CEC_ProxyPushSupplier > *  worker  ) 

For each elements call <worker->work()>.

Definition at line 9 of file CEC_ConsumerAdmin.inl.

References TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::for_each(), and push_admin_.

Referenced by TAO_CEC_Reactive_ConsumerControl::query_consumers().

00010 {
00011   this->push_admin_.for_each (worker);
00012 }

CosEventChannelAdmin::ProxyPullSupplier_ptr TAO_CEC_ConsumerAdmin::obtain_pull_supplier ( void   )  [virtual]

Definition at line 97 of file CEC_ConsumerAdmin.cpp.

References TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::obtain(), and pull_admin_.

00098 {
00099   return this->pull_admin_.obtain ();
00100 }

CosEventChannelAdmin::ProxyPushSupplier_ptr TAO_CEC_ConsumerAdmin::obtain_push_supplier ( void   )  [virtual]

Definition at line 91 of file CEC_ConsumerAdmin.cpp.

References TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::obtain(), and push_admin_.

00092 {
00093   return this->push_admin_.obtain ();
00094 }

void TAO_CEC_ConsumerAdmin::push ( const CORBA::Any &  event  ) 

Push the event to all the consumers.

Definition at line 35 of file CEC_ConsumerAdmin.cpp.

References TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::for_each(), pull_admin_, and push_admin_.

Referenced by TAO_CEC_ProxyPushConsumer::push(), and TAO_CEC_Pull_Event::work().

00036 {
00037   TAO_CEC_Propagate_Event_Push push_worker (event);
00038 
00039   this->push_admin_.for_each (&push_worker);
00040 
00041   TAO_CEC_Propagate_Event_Pull pull_worker (event);
00042 
00043   this->pull_admin_.for_each (&pull_worker);
00044 }

void TAO_CEC_ConsumerAdmin::reconnected ( TAO_CEC_ProxyPullSupplier  )  [virtual]

Definition at line 71 of file CEC_ConsumerAdmin.cpp.

References pull_admin_, and TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::reconnected().

00072 {
00073   this->pull_admin_.reconnected (supplier);
00074 }

void TAO_CEC_ConsumerAdmin::reconnected ( TAO_CEC_ProxyPushSupplier  )  [virtual]

Definition at line 53 of file CEC_ConsumerAdmin.cpp.

References push_admin_, and TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::reconnected().

Referenced by TAO_CEC_EventChannel::reconnected().

00054 {
00055   this->push_admin_.reconnected (supplier);
00056 }

void TAO_CEC_ConsumerAdmin::shutdown ( void   )  [virtual]

The event channel is shutting down, inform all the consumers of this

Definition at line 83 of file CEC_ConsumerAdmin.cpp.

References pull_admin_, push_admin_, and TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::shutdown().

Referenced by TAO_CEC_EventChannel::shutdown().

00084 {
00085   this->push_admin_.shutdown ();
00086 
00087   this->pull_admin_.shutdown ();
00088 }


Member Data Documentation

PortableServer::POA_var TAO_CEC_ConsumerAdmin::default_POA_ [private]

Store the default POA.

Definition at line 98 of file CEC_ConsumerAdmin.h.

TAO_CEC_EventChannel* TAO_CEC_ConsumerAdmin::event_channel_ [private]

The Event Channel we belong to.

Definition at line 95 of file CEC_ConsumerAdmin.h.

TAO_ESF_Proxy_Admin<TAO_CEC_EventChannel,TAO_CEC_ProxyPullSupplier,CosEventChannelAdmin::ProxyPullSupplier> TAO_CEC_ConsumerAdmin::pull_admin_ [private]

Implement the pull side of this class.

Definition at line 104 of file CEC_ConsumerAdmin.h.

Referenced by connected(), disconnected(), for_each(), obtain_pull_supplier(), push(), reconnected(), and shutdown().

TAO_ESF_Proxy_Admin<TAO_CEC_EventChannel,TAO_CEC_ProxyPushSupplier,CosEventChannelAdmin::ProxyPushSupplier> TAO_CEC_ConsumerAdmin::push_admin_ [private]

Implement the push side of this class.

Definition at line 101 of file CEC_ConsumerAdmin.h.

Referenced by connected(), disconnected(), for_each(), obtain_push_supplier(), push(), reconnected(), and shutdown().


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