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 ()
virtual CosEventChannelAdmin::ProxyPushSupplier_ptr obtain_push_supplier () throw (CORBA::SystemException)
virtual CosEventChannelAdmin::ProxyPullSupplier_ptr obtain_pull_supplier () throw (CORBA::SystemException)
virtual PortableServer::POA_ptr _default_POA ()

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 is nil then it builds one using the argument. In any case it assumes ownership.

Definition at line 21 of file CEC_ConsumerAdmin.cpp.

References TAO_CEC_EventChannel::consumer_poa(), and default_POA_.

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  )  [virtual]
 

Definition at line 118 of file CEC_ConsumerAdmin.cpp.

00119 {
00120   return PortableServer::POA::_duplicate (this->default_POA_.in ());
00121 }

void TAO_CEC_ConsumerAdmin::connected TAO_CEC_ProxyPullSupplier  )  [virtual]
 

Definition at line 73 of file CEC_ConsumerAdmin.cpp.

References ACE_ENV_ARG_PARAMETER, and pull_admin_.

00075 {
00076   this->pull_admin_.connected (supplier ACE_ENV_ARG_PARAMETER);
00077 }

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 52 of file CEC_ConsumerAdmin.cpp.

References ACE_ENV_ARG_PARAMETER, and push_admin_.

Referenced by TAO_CEC_EventChannel::connected().

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

void TAO_CEC_ConsumerAdmin::disconnected TAO_CEC_ProxyPullSupplier  )  [virtual]
 

Definition at line 87 of file CEC_ConsumerAdmin.cpp.

References ACE_ENV_ARG_PARAMETER, and pull_admin_.

00089 {
00090   this->pull_admin_.disconnected (supplier ACE_ENV_ARG_PARAMETER);
00091 }

void TAO_CEC_ConsumerAdmin::disconnected TAO_CEC_ProxyPushSupplier  )  [virtual]
 

Definition at line 66 of file CEC_ConsumerAdmin.cpp.

References ACE_ENV_ARG_PARAMETER, and push_admin_.

Referenced by TAO_CEC_EventChannel::disconnected().

00068 {
00069   this->push_admin_.disconnected (supplier ACE_ENV_ARG_PARAMETER);
00070 }

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

void TAO_CEC_ConsumerAdmin::for_each TAO_ESF_Worker< TAO_CEC_ProxyPushSupplier > *  worker  ) 
 

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

Referenced by TAO_CEC_Reactive_ConsumerControl::query_consumers().

CosEventChannelAdmin::ProxyPullSupplier_ptr TAO_CEC_ConsumerAdmin::obtain_pull_supplier  )  throw (CORBA::SystemException) [virtual]
 

Definition at line 111 of file CEC_ConsumerAdmin.cpp.

References ACE_ENV_SINGLE_ARG_PARAMETER.

00113 {
00114   return this->pull_admin_.obtain (ACE_ENV_SINGLE_ARG_PARAMETER);
00115 }

CosEventChannelAdmin::ProxyPushSupplier_ptr TAO_CEC_ConsumerAdmin::obtain_push_supplier  )  throw (CORBA::SystemException) [virtual]
 

Definition at line 104 of file CEC_ConsumerAdmin.cpp.

References ACE_ENV_SINGLE_ARG_PARAMETER.

00106 {
00107   return this->push_admin_.obtain (ACE_ENV_SINGLE_ARG_PARAMETER);
00108 }

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 ACE_CHECK, ACE_ENV_ARG_PARAMETER, pull_admin_, and push_admin_.

Referenced by TAO_CEC_Pull_Event::work().

00037 {
00038   TAO_CEC_Propagate_Event_Push push_worker (event);
00039 
00040   this->push_admin_.for_each (&push_worker
00041                               ACE_ENV_ARG_PARAMETER);
00042   ACE_CHECK;
00043 
00044   TAO_CEC_Propagate_Event_Pull pull_worker (event);
00045 
00046   this->pull_admin_.for_each (&pull_worker
00047                               ACE_ENV_ARG_PARAMETER);
00048   ACE_CHECK;
00049 }

void TAO_CEC_ConsumerAdmin::reconnected TAO_CEC_ProxyPullSupplier  )  [virtual]
 

Definition at line 80 of file CEC_ConsumerAdmin.cpp.

References ACE_ENV_ARG_PARAMETER, and pull_admin_.

00082 {
00083   this->pull_admin_.reconnected (supplier ACE_ENV_ARG_PARAMETER);
00084 }

void TAO_CEC_ConsumerAdmin::reconnected TAO_CEC_ProxyPushSupplier  )  [virtual]
 

Definition at line 59 of file CEC_ConsumerAdmin.cpp.

References ACE_ENV_ARG_PARAMETER, and push_admin_.

Referenced by TAO_CEC_EventChannel::reconnected().

00061 {
00062   this->push_admin_.reconnected (supplier ACE_ENV_ARG_PARAMETER);
00063 }

void TAO_CEC_ConsumerAdmin::shutdown  )  [virtual]
 

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

Definition at line 94 of file CEC_ConsumerAdmin.cpp.

References ACE_CHECK, ACE_ENV_SINGLE_ARG_PARAMETER, pull_admin_, and push_admin_.

00095 {
00096   this->push_admin_.shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
00097   ACE_CHECK;
00098 
00099   this->pull_admin_.shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
00100   ACE_CHECK;
00101 }


Member Data Documentation

PortableServer::POA_var TAO_CEC_ConsumerAdmin::default_POA_ [private]
 

Store the default POA.

Definition at line 109 of file CEC_ConsumerAdmin.h.

Referenced by TAO_CEC_ConsumerAdmin().

TAO_CEC_EventChannel* TAO_CEC_ConsumerAdmin::event_channel_ [private]
 

The Event Channel we belong to.

Definition at line 106 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 115 of file CEC_ConsumerAdmin.h.

Referenced by connected(), disconnected(), 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 112 of file CEC_ConsumerAdmin.h.

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


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 13:19:17 2006 for TAO_CosEvent by doxygen 1.3.6