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

TAO_ESF_Copy_On_Read Class Template Reference

Implement the Copy_On_Read protocol. More...

#include <ESF_Copy_On_Read.h>

Inheritance diagram for TAO_ESF_Copy_On_Read:

Inheritance graph
[legend]
Collaboration diagram for TAO_ESF_Copy_On_Read:

Collaboration graph
[legend]
List of all members.

Public Methods

 TAO_ESF_Copy_On_Read (void)
 Constructors. More...

 TAO_ESF_Copy_On_Read (const COLLECTION &collection)
virtual void for_each (TAO_ESF_Worker< PROXY > *worker ACE_ENV_ARG_DECL)
 Iterate over the collection and invoke worker->work() for each member of the collection. More...

virtual void connected (PROXY *proxy ACE_ENV_ARG_DECL)
 Insert a new element into the collection. The collection assumes ownership of the element. More...

virtual void reconnected (PROXY *proxy ACE_ENV_ARG_DECL)
 Insert an element into the collection. More...

virtual void disconnected (PROXY *proxy ACE_ENV_ARG_DECL)
 Remove an element from the collection. More...

virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)
 The EC is shutting down, must release all the elements. More...


Private Attributes

COLLECTION collection_
ACE_LOCK lock_

Detailed Description

template<class PROXY, class COLLECTION, class ITERATOR, class ACE_LOCK>
class TAO_ESF_Copy_On_Read< PROXY, COLLECTION, ITERATOR, ACE_LOCK >

Implement the Copy_On_Read protocol.

The class is parametric on the kind of collection and locking mechanism used.


Constructor & Destructor Documentation

template<class PROXY, class COLLECTION, class ITERATOR, class ACE_LOCK>
TAO_ESF_Copy_On_Read< PROXY, COLLECTION, ITERATOR, ACE_LOCK >::TAO_ESF_Copy_On_Read void   
 

Constructors.

template<class PROXY, class COLLECTION, class ITERATOR, class ACE_LOCK>
TAO_ESF_Copy_On_Read< PROXY, COLLECTION, ITERATOR, ACE_LOCK >::TAO_ESF_Copy_On_Read const COLLECTION &    collection
 


Member Function Documentation

template<class PROXY, class COLLECTION, class ITERATOR, class ACE_LOCK>
void TAO_ESF_Copy_On_Read< PROXY, COLLECTION, ITERATOR, ACE_LOCK >::connected PROXY *proxy    ACE_ENV_ARG_DECL [virtual]
 

Insert a new element into the collection. The collection assumes ownership of the element.

Reimplemented from TAO_ESF_Proxy_Collection.

template<class PROXY, class COLLECTION, class ITERATOR, class ACE_LOCK>
void TAO_ESF_Copy_On_Read< PROXY, COLLECTION, ITERATOR, ACE_LOCK >::disconnected PROXY *proxy    ACE_ENV_ARG_DECL [virtual]
 

Remove an element from the collection.

Reimplemented from TAO_ESF_Proxy_Collection.

template<class PROXY, class COLLECTION, class ITERATOR, class ACE_LOCK>
void TAO_ESF_Copy_On_Read< PROXY, COLLECTION, ITERATOR, ACE_LOCK >::for_each TAO_ESF_Worker< PROXY > *worker    ACE_ENV_ARG_DECL [virtual]
 

Iterate over the collection and invoke worker->work() for each member of the collection.

This encapsulates

Reimplemented from TAO_ESF_Proxy_Collection.

template<class PROXY, class COLLECTION, class ITERATOR, class ACE_LOCK>
void TAO_ESF_Copy_On_Read< PROXY, COLLECTION, ITERATOR, ACE_LOCK >::reconnected PROXY *proxy    ACE_ENV_ARG_DECL [virtual]
 

Insert an element into the collection.

No errors can be raised if the element is already present. The collection assumes ownership, i.e. must invoke <proxy->_decr_refcnt()> if the element is already present in the collection.

Reimplemented from TAO_ESF_Proxy_Collection.

template<class PROXY, class COLLECTION, class ITERATOR, class ACE_LOCK>
void TAO_ESF_Copy_On_Read< PROXY, COLLECTION, ITERATOR, ACE_LOCK >::shutdown ACE_ENV_SINGLE_ARG_DECL    [virtual]
 

The EC is shutting down, must release all the elements.

Reimplemented from TAO_ESF_Proxy_Collection.


Member Data Documentation

template<class PROXY, class COLLECTION, class ITERATOR, class ACE_LOCK>
COLLECTION TAO_ESF_Copy_On_Read::collection_ [private]
 

template<class PROXY, class COLLECTION, class ITERATOR, class ACE_LOCK>
ACE_LOCK TAO_ESF_Copy_On_Read::lock_ [private]
 


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