QCAD Application Framework
CAD Application Development and Automation.
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
RLockedFile.h
Go to the documentation of this file.
1
#ifndef RLOCKEDFILE_H
2
#define RLOCKEDFILE_H
3
4
#include <QtCore/QFile>
5
#ifdef Q_OS_WIN
6
#include <QtCore/QVector>
7
#endif
8
9
class
RLockedFile
:
public
QFile
10
{
11
public
:
12
enum
LockMode
{
NoLock
= 0,
ReadLock
,
WriteLock
};
13
14
RLockedFile
();
15
RLockedFile
(
const
QString &name);
16
~RLockedFile
();
17
18
bool
open
(OpenMode mode);
19
20
bool
lock
(
LockMode
mode,
bool
block =
true
);
21
bool
unlock
();
22
bool
isLocked
()
const
;
23
LockMode
lockMode
()
const
;
24
25
private
:
26
#ifdef Q_OS_WIN
27
Qt::HANDLE wmutex;
28
Qt::HANDLE rmutex;
29
QVector<Qt::HANDLE> rmutexes;
30
QString mutexname;
31
32
Qt::HANDLE getMutexHandle(
int
idx,
bool
doCreate);
33
bool
waitMutex(Qt::HANDLE mutex,
bool
doBlock);
34
35
#endif
36
LockMode
m_lock_mode
;
37
};
38
39
#endif
src
gui
RLockedFile.h
Generated on Tue Jun 26 2012 18:41:08 for QCAD Application Framework by
1.8.1.1