#include <CEC_ConsumerAdmin.h>
Collaboration diagram for TAO_CEC_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.
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] |
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().
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 }
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().