#ifndef QMUTEX_H
#define QMUTEX_H
#include <QtCore/qglobal.h>
#include <new>
typedef enum QtValidLicenseForCoreModule QtCoreModule;
#ifndef QT_NO_THREAD
struct QMutexPrivate;
class QMutex{
public: enum RecursionMode{
NonRecursive = 0,
Recursive = 1,
};
public: explicit QMutex(enum QMutex::RecursionMode mode = QMutex::NonRecursive);
public: ~QMutex();
public: void lock();
public: bool tryLock();
public: void unlock();
private: QMutex(class QMutex const &);
private: class QMutex& operator =(class QMutex const &);
private: struct QMutexPrivate* d;
friend struct QWaitCondition;
friend struct QWaitConditionPrivate;
};
struct QWaitCondition;
struct QWaitConditionPrivate;
class QMutexLocker{
public: explicit inline QMutexLocker(class QMutex* m);
public: inline ~QMutexLocker();
public: inline void unlock();
public: inline void relock();
public: inline class QMutex* mutex() const
private: QMutexLocker(class QMutexLocker const &);
private: class QMutexLocker& operator =(class QMutexLocker const &);
private: union /*anonymous*/{
class QMutex* mtx;
quintptr val;
};
};
#else // QT_NO_THREAD
#endif // QT_NO_THREAD
#endif // QMUTEX_H