TAO_ESF  2.0.8
Public Member Functions | Protected Attributes | Private Types | Private Attributes
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_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::TAO_ESF_Proxy_Admin ( EVENT_CHANNEL *  ec)

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

Cleanup internal resources, destroy the internal collection.


Member Function Documentation

template<class EVENT_CHANNEL , class PROXY , class INTERFACE >
void TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::connected ( PROXY *  proxy) [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 >::disconnected ( PROXY *  proxy) [virtual]

A <proxy> has been disconnected. The default implementation removes the object from the collection and deactivates the proxy.

template<class EVENT_CHANNEL , class PROXY , class INTERFACE >
void TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::for_each ( TAO_ESF_Worker< PROXY > *  worker)

Iterate over its internal collection.

template<class EVENT_CHANNEL , class PROXY , class INTERFACE >
INTERFACE * TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::obtain ( void  ) [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 >::reconnected ( PROXY *  proxy) [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 >::shutdown ( void  ) [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.


Member Data Documentation

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

The proxy collection object.

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.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Defines