TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE > Class Template Reference

Implement common tasks in the Admin interfaces. More...

#include <ESF_Proxy_Admin.h>

Inheritance diagram for TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >:

Inheritance graph
[legend]
Collaboration diagram for TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >:

Collaboration graph
[legend]
List of all members.

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

Collectioncollection_
 The proxy collection object.

Detailed Description

template<class EVENT_CHANNEL, class PROXY, class INTERFACE>
class TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >

Implement common tasks in the Admin interfaces.

Requirements

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 ();
 * 


Member Typedef Documentation

template<class EVENT_CHANNEL, class PROXY, class INTERFACE>
typedef TAO_ESF_Proxy_Collection<PROXY> TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::Collection [private]

Shorthand for the Proxy collection.


Constructor & Destructor Documentation

template<class EVENT_CHANNEL, class PROXY, class INTERFACE>
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.

template<class EVENT_CHANNEL, class PROXY, class INTERFACE>
TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::~TAO_ESF_Proxy_Admin ( void   )  [inline, virtual]

Cleanup internal resources, destroy the internal collection.


Member Function Documentation

template<class EC, class P, class I>
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.

template<class EVENT_CHANNEL, class PROXY, class INTERFACE>
INTERFACE * TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::obtain ( void   )  [inline, virtual]

Create a new PROXY and activate it.

template<class EVENT_CHANNEL, class PROXY, class INTERFACE>
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.

template<class EVENT_CHANNEL, class PROXY, class INTERFACE>
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.

template<class EVENT_CHANNEL, class PROXY, class INTERFACE>
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

template<class EVENT_CHANNEL, class PROXY, class INTERFACE>
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.


Member Data Documentation

template<class EVENT_CHANNEL, class PROXY, class INTERFACE>
EVENT_CHANNEL* TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::event_channel_ [protected]

The Event Channel we belong to.

template<class EVENT_CHANNEL, class PROXY, class INTERFACE>
Collection* TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::collection_ [private]

The proxy collection object.


The documentation for this class was generated from the following files:
Generated on Mon Jun 25 16:51:59 2007 for TAO_ESF by  doxygen 1.5.2-2