Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

TAO_ESF_Proxy_Admin Class Template Reference

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

#include <ESF_Proxy_Admin.h>

Inheritance diagram for TAO_ESF_Proxy_Admin:

Inheritance graph
[legend]
Collaboration diagram for TAO_ESF_Proxy_Admin:

Collaboration graph
[legend]
List of all members.

Public Methods

 TAO_ESF_Proxy_Admin (EVENT_CHANNEL *ec)
 Constructor, allocate the internal collection. More...

virtual ~TAO_ESF_Proxy_Admin (void)
 Cleanup internal resources, destroy the internal collection. More...

void for_each (TAO_ESF_Worker< PROXY > *worker ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
 Iterate over its internal collection. More...

virtual INTERFACE * obtain (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) throw (CORBA::SystemException)
 Create a new PROXY and activate it. More...

virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException)
 The Event Channel that owns this Admin object is going down. More...

virtual void connected (PROXY *proxy ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
 A <proxy> has connected, this is invoked when the proxy's client has invoked the connect_xxx_yyy() method. More...

virtual void reconnected (PROXY *proxy ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
 A <proxy> has reconnected, i.e. More...

virtual void disconnected (PROXY *proxy ACE_ENV_ARG_DECL) throw (CORBA::SystemException)
 A <proxy> has been disconnected. More...


Protected Attributes

EVENT_CHANNEL * event_channel_
 The Event Channel we belong to. More...


Private Types

typedef TAO_ESF_Proxy_Collection<
PROXY > 
Collection
 Shorthand for the Proxy collection. More...


Private Attributes

Collectioncollection_
 The proxy collection object. More...


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:

 * void create_proxy (PROXY*&);
 * // create a new proxy
 *
 * void destroy_proxy (PROXY*);
 * // destroy a proxy
 *
 * void create_proxy_collection (TAO_ESF_Proxy_Collection<PROXY>*&);
 * // create a proxy collection
 *
 * void destroy_proxy_collection (TAO_ESF_Proxy_Collection<PROXY>*&);
 * // destroy a proxy collection
 * 

In addition to the requirements imposed by TAO_ESF_Proxy_Collection<>, the PROXY interface must define:

 * typename .... _ptr_type;
 * // The T_ptr for the IDL interface implemented by the PROXY.
 *
 * typename .... _var_type;
 * // The T_var for the IDL interface implemented by the PROXY.
 *
 * PROXY::_ptr_type
 * PROXY::activate (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) throw ();
 * // activate the proxy and return the object reference
 * 


Member Typedef Documentation

template<class EVENT_CHANNEL, class PROXY, class INTERFACE>
typedef TAO_ESF_Proxy_Collection<PROXY> TAO_ESF_Proxy_Admin::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>
virtual void TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::connected PROXY *proxy    ACE_ENV_ARG_DECL throw (CORBA::SystemException) [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    ACE_ENV_ARG_DECL throw (CORBA::SystemException) [virtual]
 

A <proxy> has been disconnected.

The default implementation removes the object from the collection and deactivates the proxy.

template<class EC, class P, class I>
ACE_INLINE void TAO_ESF_Proxy_Admin< EC, P, I >::for_each TAO_ESF_Worker< P > *worker    ACE_ENV_ARG_DECL throw (CORBA::SystemException)
 

Iterate over its internal collection.

template<class EVENT_CHANNEL, class PROXY, class INTERFACE>
INTERFACE * TAO_ESF_Proxy_Admin< EVENT_CHANNEL, PROXY, INTERFACE >::obtain ACE_ENV_SINGLE_ARG_DECL_NOT_USED    throw (CORBA::SystemException) [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    ACE_ENV_ARG_DECL throw (CORBA::SystemException) [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 ACE_ENV_SINGLE_ARG_DECL    throw (CORBA::SystemException) [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::collection_ [private]
 

The proxy collection object.

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

The Event Channel we belong to.


The documentation for this class was generated from the following files:
Generated on Thu Oct 10 21:11:30 2002 for TAO_ESF by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001