Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

TAO_Condition< MUTEX > Class Template Reference

Same as to the ACE_Condition variable wrapper. More...

#include <Condition.h>

Inheritance diagram for TAO_Condition< MUTEX >:

Inheritance graph
[legend]
Collaboration diagram for TAO_Condition< MUTEX >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef MUTEX LOCK
 Useful typedef.


Public Methods

 TAO_Condition (MUTEX &m)
 Initialize the condition variable.

 TAO_Condition (void)
 ~TAO_Condition (void)
 Implicitly destroy the condition variable.

int wait (const ACE_Time_Value *abstime)
int wait (void)
 Block on condition.

int wait (MUTEX &mutex, const ACE_Time_Value *abstime=0)
int signal (void)
 Signal one waiting thread.

int broadcast (void)
 Signal *all* waiting threads.

int remove (void)
 Explicitly destroy the condition variable.

MUTEX * mutex (void)
 Returns a reference to the underlying mutex_;.


Private Methods

void operator= (const TAO_Condition< MUTEX > &)
 TAO_Condition (const TAO_Condition< MUTEX > &)

Private Attributes

MUTEX * mutex_
 Reference to mutex lock.

int delete_lock_
 A flag to indicate whether the lock needs to be deleted.

TAO_SYNCH_CONDITION * cond_
 Condition variable.


Detailed Description

template<class MUTEX>
class TAO_Condition< MUTEX >

Same as to the ACE_Condition variable wrapper.

This class differs from ACE_Condition in that it uses a TAO_SYNCH_CONDITION instead of ACE_cond_t under the hood to provide blocking.


Member Typedef Documentation

template<class MUTEX>
typedef MUTEX TAO_Condition< MUTEX >::LOCK
 

Useful typedef.


Constructor & Destructor Documentation

template<class MUTEX>
TAO_Condition< MUTEX >::TAO_Condition MUTEX &    m
 

Initialize the condition variable.

template<class MUTEX>
TAO_Condition< MUTEX >::TAO_Condition void   
 

A default constructor. Since no lock is provided by the user, one will be created internally.

template<class MUTEX>
TAO_Condition< MUTEX >::~TAO_Condition void   
 

Implicitly destroy the condition variable.

template<class MUTEX>
TAO_Condition< MUTEX >::TAO_Condition const TAO_Condition< MUTEX > &    [private]
 


Member Function Documentation

template<class MUTEX>
ACE_INLINE int TAO_Condition< MUTEX >::broadcast void   
 

Signal *all* waiting threads.

template<class MUTEX>
ACE_INLINE MUTEX * TAO_Condition< MUTEX >::mutex void   
 

Returns a reference to the underlying mutex_;.

template<class MUTEX>
void TAO_Condition< MUTEX >::operator= const TAO_Condition< MUTEX > &    [private]
 

template<class MUTEX>
ACE_INLINE int TAO_Condition< MUTEX >::remove void   
 

Explicitly destroy the condition variable.

template<class MUTEX>
ACE_INLINE int TAO_Condition< MUTEX >::signal void   
 

Signal one waiting thread.

template<class MUTEX>
ACE_INLINE int TAO_Condition< MUTEX >::wait MUTEX &    mutex,
const ACE_Time_Value   abstime = 0
 

Block on condition or until absolute time-of-day has passed. If abstime == 0 use "blocking" wait() semantics on the <mutex> passed as a parameter (this is useful if you need to store the <Condition> in shared memory). Else, if <abstime> != 0 and the call times out before the condition is signaled <wait> returns -1 and sets errno to ETIME.

template<class MUTEX>
ACE_INLINE int TAO_Condition< MUTEX >::wait void   
 

Block on condition.

template<class MUTEX>
ACE_INLINE int TAO_Condition< MUTEX >::wait const ACE_Time_Value   abstime
 

Block on condition, or until absolute time-of-day has passed. If abstime == 0 use "blocking" <wait> semantics. Else, if <abstime> != 0 and the call times out before the condition is signaled <wait> returns -1 and sets errno to ETIME.


Member Data Documentation

template<class MUTEX>
TAO_SYNCH_CONDITION* TAO_Condition< MUTEX >::cond_ [private]
 

Condition variable.

template<class MUTEX>
int TAO_Condition< MUTEX >::delete_lock_ [private]
 

A flag to indicate whether the lock needs to be deleted.

template<class MUTEX>
MUTEX* TAO_Condition< MUTEX >::mutex_ [private]
 

Reference to mutex lock.


The documentation for this class was generated from the following files:
Generated on Wed Jan 14 23:25:22 2004 for TAO by doxygen1.2.18