Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

TAO_ESF_Proxy_RefCount_Guard< EVENT_CHANNEL, PROXY > Class Template Reference

Reference count based guard. More...

#include <ESF_Proxy_RefCount_Guard.h>

Collaboration diagram for TAO_ESF_Proxy_RefCount_Guard< EVENT_CHANNEL, PROXY >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_ESF_Proxy_RefCount_Guard (CORBA::ULong &refcount, EVENT_CHANNEL *ec, PROXY *proxy)
 Constructor.
 ~TAO_ESF_Proxy_RefCount_Guard (void)
 Destructor.

Protected Attributes

CORBA::ULongrefcount_
EVENT_CHANNEL * event_channel_
 The event channel used to destroy the proxy.
PROXY * proxy_
 The proxy whose lifetime is controlled by the reference count.

Detailed Description

template<class EVENT_CHANNEL, class PROXY>
class TAO_ESF_Proxy_RefCount_Guard< EVENT_CHANNEL, PROXY >

Reference count based guard.

A common idiom used on event services is to increment a reference count before starting a long running operation. The system can then execute the operation without any risk of having the underlying object destroyed. The advantage of using a reference count is that no mutex or lock needs to be held while the operation is beign executed. This class implements that common idiom, but it also adds hooks to handle scenarios where more than one operation is performed while holding the reference count.

: The type of lock could be parametric


Constructor & Destructor Documentation

template<class EC, class P>
ACE_INLINE TAO_ESF_Proxy_RefCount_Guard< EC, P >::TAO_ESF_Proxy_RefCount_Guard CORBA::ULong refcount,
EVENT_CHANNEL *  ec,
PROXY *  proxy
 

Constructor.

template<class EC, class P>
TAO_ESF_Proxy_RefCount_Guard< EC, P >::~TAO_ESF_Proxy_RefCount_Guard void   ) 
 

Destructor.


Member Data Documentation

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

The event channel used to destroy the proxy.

template<class EVENT_CHANNEL, class PROXY>
PROXY* TAO_ESF_Proxy_RefCount_Guard< EVENT_CHANNEL, PROXY >::proxy_ [protected]
 

The proxy whose lifetime is controlled by the reference count.

template<class EVENT_CHANNEL, class PROXY>
CORBA::ULong& TAO_ESF_Proxy_RefCount_Guard< EVENT_CHANNEL, PROXY >::refcount_ [protected]
 

The reference count, if it gets to zero then the object must be destroyed


The documentation for this class was generated from the following files:
Generated on Sat Aug 6 03:29:28 2005 for TAO_ESF by  doxygen 1.3.9.1