Public Types | Public Member Functions | Protected Member Functions

zeus::TCriticalSection Class Reference

#include <CriticalSection.h>

Inheritance diagram for zeus::TCriticalSection:
zeus::TZObject zeus::ICriticalSection zeus::IZUnknown zeus::IZUnknown

List of all members.

Public Types

enum  ELockType { etFast, etRecursive, etError }

Public Member Functions

 TCriticalSection (ELockType eType=etFast)
bool isLocked ()
virtual void MQUALIFIER enter ()
virtual void MQUALIFIER leave ()
virtual Retval MQUALIFIER askForInterface (const InterfaceID &rInterfaceID, IZUnknown *&rpIface)
virtual void MQUALIFIER addRef () const
virtual void MQUALIFIER release () const

Protected Member Functions

virtual ~TCriticalSection ()

Detailed Description

This class implements a critical section (mutex) for multithreading


Member Enumeration Documentation

This type is used to define the type of the critical section. This is not supported on Win32 API.

Enumerator:
etFast 
etRecursive 
etError 

Constructor & Destructor Documentation

TCriticalSection::TCriticalSection ( ELockType  eType = etFast )

Creates a critical section object

Parameters:
eType: Type of the lock
TCriticalSection::~TCriticalSection (  ) [protected, virtual]

Destroys a critical section object


Member Function Documentation

virtual void MQUALIFIER zeus::TCriticalSection::addRef (  ) const [virtual]
See also:
IZUnknown::addRef

Reimplemented from zeus::TZObject.

virtual Retval MQUALIFIER zeus::TCriticalSection::askForInterface ( const InterfaceID rInterfaceID,
IZUnknown *&  rpIface 
) [virtual]
See also:
IZUnknown::askForInterface

Reimplemented from zeus::TZObject.

void MQUALIFIER zeus::TCriticalSection::enter (  ) [inline, virtual]

Enters the lock

Implements zeus::ICriticalSection.

bool TCriticalSection::isLocked (  )

Checks if the lock is active.

Return values:
true: active (an other thread is using the lock)
false: lock is free
void MQUALIFIER zeus::TCriticalSection::leave (  ) [inline, virtual]

Leaves the lock

Implements zeus::ICriticalSection.

virtual void MQUALIFIER zeus::TCriticalSection::release (  ) const [virtual]
See also:
IZUnknown::release

Reimplemented from zeus::TZObject.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Sun Jan 22 2012 15:28:33