TAO_ESF_Immediate_Changes< PROXY, COLLECTION, ITERATOR, ACE_LOCK > Class Template Reference

Implement the Immediate_Changes strategy. More...

#include <ESF_Immediate_Changes.h>

Inheritance diagram for TAO_ESF_Immediate_Changes< PROXY, COLLECTION, ITERATOR, ACE_LOCK >:

Inheritance graph
[legend]
Collaboration diagram for TAO_ESF_Immediate_Changes< PROXY, COLLECTION, ITERATOR, ACE_LOCK >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_ESF_Immediate_Changes (void)
 TAO_ESF_Immediate_Changes (const COLLECTION &collection)
virtual void for_each (TAO_ESF_Worker< PROXY > *worker ACE_ENV_ARG_DECL)
virtual void connected (PROXY *proxy ACE_ENV_ARG_DECL)
virtual void reconnected (PROXY *proxy ACE_ENV_ARG_DECL)
virtual void disconnected (PROXY *proxy ACE_ENV_ARG_DECL)
virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL)

Private Attributes

COLLECTION collection_
ACE_LOCK lock_

Detailed Description

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

Implement the Immediate_Changes strategy.

Definition at line 30 of file ESF_Immediate_Changes.h.


Constructor & Destructor Documentation

template<class PROXY, class C, class ITERATOR, class ACE_LOCK>
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_ESF_Immediate_Changes< PROXY, C, ITERATOR, ACE_LOCK >::TAO_ESF_Immediate_Changes void   ) 
 

Definition at line 20 of file ESF_Immediate_Changes.cpp.

00021 {
00022 }

template<class PROXY, class C, class ITERATOR, class ACE_LOCK>
TAO_ESF_Immediate_Changes< PROXY, C, ITERATOR, ACE_LOCK >::TAO_ESF_Immediate_Changes const COLLECTION &  collection  ) 
 

Definition at line 26 of file ESF_Immediate_Changes.cpp.

00027       :  collection_ (collection)
00028 {
00029 }


Member Function Documentation

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

Definition at line 9 of file ESF_Immediate_Changes.i.

References ACE_ENV_ARG_PARAMETER, and ACE_GUARD.

00011 {
00012   ACE_GUARD (ACE_LOCK, ace_mon, this->lock_);
00013 
00014   proxy->_incr_refcnt ();
00015   this->collection_.connected (proxy ACE_ENV_ARG_PARAMETER);
00016 }

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

Definition at line 31 of file ESF_Immediate_Changes.i.

References ACE_ENV_ARG_PARAMETER, and ACE_GUARD.

00033 {
00034   ACE_GUARD (ACE_LOCK, ace_mon, this->lock_);
00035 
00036   this->collection_.disconnected (proxy ACE_ENV_ARG_PARAMETER);
00037 }

template<class PROXY, class C, class ITERATOR, class ACE_LOCK>
void TAO_ESF_Immediate_Changes< PROXY, C, ITERATOR, ACE_LOCK >::for_each TAO_ESF_Worker< PROXY > *worker  ACE_ENV_ARG_DECL  )  [virtual]
 

Definition at line 33 of file ESF_Immediate_Changes.cpp.

References ACE_CHECK, ACE_ENV_ARG_PARAMETER, and ACE_GUARD.

00035 {
00036   ACE_GUARD (ACE_LOCK, ace_mon, this->lock_);
00037 
00038   worker->set_size(this->collection_.size());
00039   ITERATOR end = this->collection_.end ();
00040   for (ITERATOR i = this->collection_.begin (); i != end; ++i)
00041     {
00042       worker->work ((*i) ACE_ENV_ARG_PARAMETER);
00043       ACE_CHECK;
00044     }
00045 }

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

Definition at line 20 of file ESF_Immediate_Changes.i.

References ACE_ENV_ARG_PARAMETER, and ACE_GUARD.

00022 {
00023   ACE_GUARD (ACE_LOCK, ace_mon, this->lock_);
00024 
00025   proxy->_incr_refcnt ();
00026   this->collection_.reconnected (proxy ACE_ENV_ARG_PARAMETER);
00027 }

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

Definition at line 41 of file ESF_Immediate_Changes.i.

References ACE_ENV_SINGLE_ARG_PARAMETER, and ACE_GUARD.

00042 {
00043   ACE_GUARD (ACE_LOCK, ace_mon, this->lock_);
00044 
00045   this->collection_.shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
00046 }


Member Data Documentation

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

Definition at line 48 of file ESF_Immediate_Changes.h.

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

Definition at line 50 of file ESF_Immediate_Changes.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 13:08:56 2006 for TAO_ESF by doxygen 1.3.6