#include <CEC_TypedConsumerAdmin.h>
Collaboration diagram for TAO_CEC_TypedConsumerAdmin:
Public Member Functions | |
TAO_CEC_TypedConsumerAdmin (TAO_CEC_TypedEventChannel *typed_event_channel) | |
virtual | ~TAO_CEC_TypedConsumerAdmin (void) |
void | for_each (TAO_ESF_Worker< TAO_CEC_ProxyPushSupplier > *worker) |
For each elements call <worker->work()>. | |
virtual void | invoke (const TAO_CEC_TypedEvent &typed_event) |
Invoke the typed event on all the consumers. | |
virtual void | connected (TAO_CEC_ProxyPushSupplier *) |
virtual void | reconnected (TAO_CEC_ProxyPushSupplier *) |
virtual void | disconnected (TAO_CEC_ProxyPushSupplier *) |
virtual void | shutdown (void) |
virtual CosEventChannelAdmin::ProxyPushSupplier_ptr | obtain_typed_push_supplier (const char *uses_interface) |
virtual CosTypedEventChannelAdmin::TypedProxyPullSupplier_ptr | obtain_typed_pull_supplier (const char *supported_interface) |
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_TypedEventChannel * | typed_event_channel_ |
The Event Channel we belong to. | |
PortableServer::POA_var | default_POA_ |
Store the default POA. | |
TAO_ESF_Proxy_Admin< TAO_CEC_TypedEventChannel, TAO_CEC_ProxyPushSupplier, CosEventChannelAdmin::ProxyPushSupplier > | typed_push_admin_ |
Implement the push side of this class. |
Definition at line 37 of file CEC_TypedConsumerAdmin.h.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_CEC_TypedConsumerAdmin::TAO_CEC_TypedConsumerAdmin | ( | TAO_CEC_TypedEventChannel * | typed_event_channel | ) |
Definition at line 17 of file CEC_TypedConsumerAdmin.cpp.
References default_POA_, TAO_CEC_TypedEventChannel::typed_consumer_poa(), and typed_event_channel_.
00018 : typed_event_channel_ (ec), 00019 typed_push_admin_ (ec) 00020 { 00021 this->default_POA_ = 00022 this->typed_event_channel_->typed_consumer_poa (); 00023 }
TAO_CEC_TypedConsumerAdmin::~TAO_CEC_TypedConsumerAdmin | ( | void | ) | [virtual] |
PortableServer::POA_ptr TAO_CEC_TypedConsumerAdmin::_default_POA | ( | void | ) | [virtual] |
Definition at line 100 of file CEC_TypedConsumerAdmin.cpp.
Referenced by TAO_CEC_TypedEventChannel::shutdown().
void TAO_CEC_TypedConsumerAdmin::connected | ( | TAO_CEC_ProxyPushSupplier * | ) | [virtual] |
Used to inform the EC that a Supplier has connected or disconnected from it.
Definition at line 39 of file CEC_TypedConsumerAdmin.cpp.
References TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::connected(), and typed_push_admin_.
Referenced by TAO_CEC_TypedEventChannel::connected().
00040 { 00041 this->typed_push_admin_.connected (supplier); 00042 }
void TAO_CEC_TypedConsumerAdmin::disconnected | ( | TAO_CEC_ProxyPushSupplier * | ) | [virtual] |
Definition at line 51 of file CEC_TypedConsumerAdmin.cpp.
References TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::disconnected(), and typed_push_admin_.
Referenced by TAO_CEC_TypedEventChannel::disconnected().
00052 { 00053 this->typed_push_admin_.disconnected (supplier); 00054 }
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE void TAO_CEC_TypedConsumerAdmin::for_each | ( | TAO_ESF_Worker< TAO_CEC_ProxyPushSupplier > * | worker | ) |
For each elements call <worker->work()>.
Definition at line 9 of file CEC_TypedConsumerAdmin.inl.
References TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::for_each(), and typed_push_admin_.
00010 { 00011 this->typed_push_admin_.for_each (worker); 00012 }
void TAO_CEC_TypedConsumerAdmin::invoke | ( | const TAO_CEC_TypedEvent & | typed_event | ) | [virtual] |
Invoke the typed event on all the consumers.
Definition at line 31 of file CEC_TypedConsumerAdmin.cpp.
References TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::for_each(), and typed_push_admin_.
Referenced by TAO_CEC_TypedProxyPushConsumer::invoke().
00032 { 00033 TAO_CEC_Propagate_Typed_Event typed_event_worker (typed_event, this->typed_event_channel_); 00034 00035 this->typed_push_admin_.for_each (&typed_event_worker); 00036 }
CosEventChannelAdmin::ProxyPullSupplier_ptr TAO_CEC_TypedConsumerAdmin::obtain_pull_supplier | ( | void | ) | [virtual] |
CosEventChannelAdmin::ProxyPushSupplier_ptr TAO_CEC_TypedConsumerAdmin::obtain_push_supplier | ( | void | ) | [virtual] |
CosTypedEventChannelAdmin::TypedProxyPullSupplier_ptr TAO_CEC_TypedConsumerAdmin::obtain_typed_pull_supplier | ( | const char * | supported_interface | ) | [virtual] |
CosEventChannelAdmin::ProxyPushSupplier_ptr TAO_CEC_TypedConsumerAdmin::obtain_typed_push_supplier | ( | const char * | uses_interface | ) | [virtual] |
Definition at line 71 of file CEC_TypedConsumerAdmin.cpp.
References TAO_CEC_TypedEventChannel::consumer_register_uses_interace(), TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::obtain(), typed_event_channel_, and typed_push_admin_.
00075 { 00076 // Register the consumer uses_interface with the EC 00077 int result = this->typed_event_channel_->consumer_register_uses_interace (uses_interface); 00078 00079 if (result == -1) 00080 { 00081 throw CosTypedEventChannelAdmin::NoSuchImplementation (); 00082 } 00083 00084 return this->typed_push_admin_.obtain (); 00085 }
void TAO_CEC_TypedConsumerAdmin::reconnected | ( | TAO_CEC_ProxyPushSupplier * | ) | [virtual] |
Definition at line 45 of file CEC_TypedConsumerAdmin.cpp.
References TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::reconnected(), and typed_push_admin_.
Referenced by TAO_CEC_TypedEventChannel::reconnected().
00046 { 00047 this->typed_push_admin_.reconnected (supplier); 00048 }
void TAO_CEC_TypedConsumerAdmin::shutdown | ( | void | ) | [virtual] |
The typed event channel is shutting down, inform all the consumers of this
Definition at line 57 of file CEC_TypedConsumerAdmin.cpp.
References TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::shutdown(), and typed_push_admin_.
Referenced by TAO_CEC_TypedEventChannel::shutdown().
00058 { 00059 this->typed_push_admin_.shutdown (); 00060 }
Store the default POA.
Definition at line 85 of file CEC_TypedConsumerAdmin.h.
Referenced by TAO_CEC_TypedConsumerAdmin().
The Event Channel we belong to.
Definition at line 82 of file CEC_TypedConsumerAdmin.h.
Referenced by obtain_typed_push_supplier(), and TAO_CEC_TypedConsumerAdmin().
TAO_ESF_Proxy_Admin<TAO_CEC_TypedEventChannel,TAO_CEC_ProxyPushSupplier,CosEventChannelAdmin::ProxyPushSupplier> TAO_CEC_TypedConsumerAdmin::typed_push_admin_ [private] |
Implement the push side of this class.
Definition at line 88 of file CEC_TypedConsumerAdmin.h.
Referenced by connected(), disconnected(), for_each(), invoke(), obtain_typed_push_supplier(), reconnected(), and shutdown().