Envision
A visual programming IDE for object-oriented languages
List of all members | Public Member Functions | Private Attributes
Model::NodeReadWriteLock Class Reference

Public Member Functions

 NodeReadWriteLock ()
 
virtual ~NodeReadWriteLock ()
 
void lockForRead ()
 
void lockForWrite (Node *targetNode)
 
void unlock ()
 

Private Attributes

QList< InterruptibleThread * > interruptibleReaders
 
QReadWriteLock lock
 
QMutex readersAccess
 

Constructor & Destructor Documentation

◆ NodeReadWriteLock()

Model::NodeReadWriteLock::NodeReadWriteLock ( )

◆ ~NodeReadWriteLock()

Model::NodeReadWriteLock::~NodeReadWriteLock ( )
virtual

Member Function Documentation

◆ lockForRead()

void Model::NodeReadWriteLock::lockForRead ( )

◆ lockForWrite()

void Model::NodeReadWriteLock::lockForWrite ( Node targetNode)

◆ unlock()

void Model::NodeReadWriteLock::unlock ( )

Member Data Documentation

◆ interruptibleReaders

QList<InterruptibleThread*> Model::NodeReadWriteLock::interruptibleReaders
private

◆ lock

QReadWriteLock Model::NodeReadWriteLock::lock
private

◆ readersAccess

QMutex Model::NodeReadWriteLock::readersAccess
private