Qyoto  4.0.5
Qyoto is a C# language binding for Qt
 All Classes Namespaces Functions Variables Typedefs Enumerations Properties
QtCore.QReadLocker Class Reference

The QReadLocker class is a convenience class that simplifies locking and unlocking read-write locks for read access. More...

Inheritance diagram for QtCore.QReadLocker:
Collaboration diagram for QtCore.QReadLocker:

Public Member Functions

 QReadLocker (QReadWriteLock readWriteLock)
 
 
virtual void CreateProxy ()
 
new QReadWriteLock ReadWriteLock ()
 
 
new void Relock ()
 
 
new void Unlock ()
 
 
new void Dispose ()
 

Protected Member Functions

 QReadLocker (System.Type dummy)
 

Protected Attributes

SmokeInvocation interceptor
 

Properties

virtual System.IntPtr SmokeObject [get, set]
 

Detailed Description

The QReadLocker class is a convenience class that simplifies locking and unlocking read-write locks for read access.

The purpose of QReadLocker (and QWriteLocker) is to simplify QReadWriteLock locking and unlocking. Locking and unlocking statements or in exception handling code is error-prone and difficult to debug. QReadLocker can be used in such situations to ensure that the state of the lock is always well-defined.

Here's an example that uses QReadLocker to lock and unlock a read-write lock for reading:

QReadWriteLock lock;

QByteArray readData()

{

QReadLocker locker(&lock);

...

return data;

}

It is equivalent to the following code:

QReadWriteLock lock;

QByteArray readData()

{

lock.lockForRead();

...

lock.unlock();

return data;

}

The QMutexLocker documentation shows examples where the use of a locker object greatly simplifies programming.

See also QWriteLocker and QReadWriteLock.

Constructor & Destructor Documentation

QtCore.QReadLocker.QReadLocker ( System.Type  dummy)
protected
QtCore.QReadLocker.QReadLocker ( QReadWriteLock  readWriteLock)

Constructs a QReadLocker and locks lock for reading. The lock will be unlocked when the QReadLocker is destroyed. If lock is zero, QReadLocker does nothing.

See also QReadWriteLock::lockForRead().

Member Function Documentation

virtual void QtCore.QReadLocker.CreateProxy ( )
virtual
new void QtCore.QReadLocker.Dispose ( )
new QReadWriteLock QtCore.QReadLocker.ReadWriteLock ( )

Returns a pointer to the read-write lock that was passed to the constructor.

new void QtCore.QReadLocker.Relock ( )

Relocks an unlocked lock.

See also unlock().

new void QtCore.QReadLocker.Unlock ( )

Unlocks the lock associated with this locker.

See also QReadWriteLock::unlock().

Member Data Documentation

SmokeInvocation QtCore.QReadLocker.interceptor
protected

Property Documentation

virtual System.IntPtr QtCore.QReadLocker.SmokeObject
getset