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

vpr::ReadGuard Class Reference

Read Guard wrapper. More...

#include <RWGuard.h>

Collaboration diagram for vpr::ReadGuard:

Collaboration graph
[legend]
List of all members.

Public Methods

 ReadGuard (RWMutex &lock, int block=1)
 Acquires the lock implicitly. More...

 ~ReadGuard ()
 Releases the lock. More...

const bool & locked ()
vpr::ReturnStatus acquire ()
 Acquires the lock. More...

vpr::ReturnStatus tryAcquire ()
 Tries to acquire lock. More...

vpr::ReturnStatus release ()
 Explicity releases the lock. More...


Detailed Description

Read Guard wrapper.

Definition at line 56 of file RWGuard.h.


Constructor & Destructor Documentation

vpr::ReadGuard::ReadGuard RWMutex   lock,
int    block = 1
[inline]
 

Acquires the lock implicitly.

If block = 1 then use a blocking acquire.

Definition at line 63 of file RWGuard.h.

References acquire, vpr::RWMutex, vpr::ReturnStatus::success, and tryAcquire.

00063                                            : mTheLock(&lock)
00064    {
00065       mLockStatus = block ? acquire().success() : tryAcquire().success();
00066    }

vpr::ReadGuard::~ReadGuard   [inline]
 

Releases the lock.

Definition at line 69 of file RWGuard.h.

00070    {
00071       if ( mLockStatus )
00072       {
00073          mTheLock->release();
00074       }
00075    }


Member Function Documentation

const bool& vpr::ReadGuard::locked   [inline]
 

Returns:
true is returned if this guard is locked. false is returned if this guard is not locked.

Definition at line 81 of file RWGuard.h.

00082    {
00083       return mLockStatus;
00084    }

vpr::ReturnStatus vpr::ReadGuard::acquire void    [inline]
 

Acquires the lock.

Definition at line 87 of file RWGuard.h.

Referenced by ReadGuard.

00088    {
00089       return mTheLock->acquireRead();
00090    }

vpr::ReturnStatus vpr::ReadGuard::tryAcquire void    [inline]
 

Tries to acquire lock.

Definition at line 93 of file RWGuard.h.

Referenced by ReadGuard.

00094    {
00095       return mTheLock->tryAcquireRead();
00096    }

vpr::ReturnStatus vpr::ReadGuard::release void    [inline]
 

Explicity releases the lock.

Definition at line 99 of file RWGuard.h.

00100    {
00101       mLockStatus = false;
00102       return mTheLock->release();
00103    }


The documentation for this class was generated from the following file:
Generated on Sun May 2 14:47:11 2004 for VR Juggler Portable Runtime by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002