#include <ESF_Proxy_Admin.h>
Inheritance diagram for TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >:
Public Member Functions | |
TAO_ESF_Proxy_Admin (EVENT_CHANNEL *ec) | |
Constructor, allocate the internal collection. | |
virtual | ~TAO_ESF_Proxy_Admin (void) |
Cleanup internal resources, destroy the internal collection. | |
void | for_each (TAO_ESF_Worker< PROXY > *worker) |
Iterate over its internal collection. | |
virtual INTERFACE * | obtain (void) |
Create a new PROXY and activate it. | |
virtual void | shutdown (void) |
virtual void | connected (PROXY *proxy) |
virtual void | reconnected (PROXY *proxy) |
virtual void | disconnected (PROXY *proxy) |
Protected Attributes | |
EVENT_CHANNEL * | event_channel_ |
The Event Channel we belong to. | |
Private Types | |
typedef TAO_ESF_Proxy_Collection< PROXY > | Collection |
Shorthand for the Proxy collection. | |
Private Attributes | |
Collection * | collection_ |
The proxy collection object. |
The EVENT_CHANNEL interface must implement:
* /// create a new proxy * void create_proxy (PROXY*&); * * /// destroy a proxy * void destroy_proxy (PROXY*); * * /// create a proxy collection * void create_proxy_collection (TAO_ESF_Proxy_Collection<PROXY>*&); * * /// destroy a proxy collection * void destroy_proxy_collection (TAO_ESF_Proxy_Collection<PROXY>*&); *
In addition to the requirements imposed by TAO_ESF_Proxy_Collection<>, the PROXY interface must define:
* /// The T_ptr for the IDL interface implemented by the PROXY. * typename .... _ptr_type; * * /// The T_var for the IDL interface implemented by the PROXY. * typename .... _var_type; * * /// activate the proxy and return the object reference * PROXY::_ptr_type * PROXY::activate (void) throw (); *
typedef TAO_ESF_Proxy_Collection<PROXY> TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::Collection [private] |
Shorthand for the Proxy collection.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::TAO_ESF_Proxy_Admin | ( | EVENT_CHANNEL * | ec | ) | [inline] |
Constructor, allocate the internal collection.
TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::~TAO_ESF_Proxy_Admin | ( | void | ) | [inline, virtual] |
Cleanup internal resources, destroy the internal collection.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE void TAO_ESF_Proxy_Admin< EC, P, I >::for_each | ( | TAO_ESF_Worker< PROXY > * | worker | ) | [inline] |
Iterate over its internal collection.
INTERFACE * TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::obtain | ( | void | ) | [inline, virtual] |
Create a new PROXY and activate it.
void TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::shutdown | ( | void | ) | [inline, virtual] |
The Event Channel that owns this Admin object is going down. Invoke <shutdown> on all the proxies, cleanup the collection and prepare to terminate.
void TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::connected | ( | PROXY * | proxy | ) | [inline, virtual] |
A <proxy> has connected, this is invoked when the proxy's client has invoked the connect_xxx_yyy() method. The default implementation is a no-op.
void TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::reconnected | ( | PROXY * | proxy | ) | [inline, virtual] |
A <proxy> has reconnected, i.e. its client has invoked the connect_xxx_yyy() method, but the proxy was connected already. The default implementation delegates on the collection <reconnected> method
void TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::disconnected | ( | PROXY * | proxy | ) | [inline, virtual] |
A <proxy> has been disconnected. The default implementation removes the object from the collection and deactivates the proxy.
EVENT_CHANNEL* TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::event_channel_ [protected] |
The Event Channel we belong to.
Collection* TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::collection_ [private] |
The proxy collection object.