#include <CriticalSection.h>
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 () |
This class implements a critical section (mutex) for multithreading
| TCriticalSection::TCriticalSection | ( | ELockType | eType = etFast ) |
Creates a critical section object
| eType | : Type of the lock |
| TCriticalSection::~TCriticalSection | ( | ) | [protected, virtual] |
Destroys a critical section object
| virtual void MQUALIFIER zeus::TCriticalSection::addRef | ( | ) | const [virtual] |
Reimplemented from zeus::TZObject.
| virtual Retval MQUALIFIER zeus::TCriticalSection::askForInterface | ( | const InterfaceID & | rInterfaceID, |
| IZUnknown *& | rpIface | ||
| ) | [virtual] |
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.
| 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] |
Reimplemented from zeus::TZObject.