Qt
6.x
The Qt SDK
Loading...
Searching...
No Matches
qeventloop_p.h
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
#ifndef QEVENTLOOP_P_H
5
#define QEVENTLOOP_P_H
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is not part of the Qt API. It exists purely as an
12
// implementation detail. This header file may change from version to
13
// version without notice, or even be removed.
14
//
15
// We mean it.
16
//
17
18
#include "
qcoreapplication.h
"
19
#include "
qobject_p.h
"
20
21
QT_BEGIN_NAMESPACE
22
23
class
QEventLoopPrivate
:
public
QObjectPrivate
24
{
25
Q_DECLARE_PUBLIC(
QEventLoop
)
26
public
:
27
inline
QEventLoopPrivate
()
28
:
inExec
(
false
)
29
{
30
returnCode
.
storeRelaxed
(-1);
31
exit
.
storeRelaxed
(
true
);
32
}
33
34
QAtomicInt
quitLockRef
;
35
36
QBasicAtomicInt
exit
;
// bool
37
QBasicAtomicInt
returnCode
;
38
bool
inExec
;
39
40
void
ref
()
41
{
42
quitLockRef
.
ref
();
43
}
44
45
void
deref
()
46
{
47
if
(!
quitLockRef
.
deref
() &&
inExec
) {
48
qApp
->postEvent(
q_ptr
,
new
QEvent
(
QEvent::Quit
));
49
}
50
}
51
};
52
53
QT_END_NAMESPACE
54
55
#endif
// QEVENTLOOP_P_H
QAtomicInt
\inmodule QtCore
Definition
qatomic.h:112
QBasicAtomicInteger< int >
QBasicAtomicInteger::ref
bool ref() noexcept
Definition
qbasicatomic.h:47
QBasicAtomicInteger::deref
bool deref() noexcept
Definition
qbasicatomic.h:48
QBasicAtomicInteger::storeRelaxed
void storeRelaxed(T newValue) noexcept
Definition
qbasicatomic.h:37
QEventLoopPrivate
Definition
qeventloop_p.h:24
QEventLoopPrivate::ref
void ref()
Definition
qeventloop_p.h:40
QEventLoopPrivate::inExec
bool inExec
Definition
qeventloop_p.h:38
QEventLoopPrivate::exit
QBasicAtomicInt exit
Definition
qeventloop_p.h:36
QEventLoopPrivate::deref
void deref()
Definition
qeventloop_p.h:45
QEventLoopPrivate::quitLockRef
QAtomicInt quitLockRef
Definition
qeventloop_p.h:34
QEventLoopPrivate::returnCode
QBasicAtomicInt returnCode
Definition
qeventloop_p.h:37
QEventLoopPrivate::QEventLoopPrivate
QEventLoopPrivate()
Definition
qeventloop_p.h:27
QEventLoop
\inmodule QtCore
Definition
qeventloop.h:16
QEvent
\inmodule QtCore
Definition
qcoreevent.h:45
QEvent::Quit
@ Quit
Definition
qcoreevent.h:79
QObjectData::q_ptr
QObject * q_ptr
Definition
qobject.h:60
QObjectPrivate
Definition
qobject_p.h:74
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1545
qcoreapplication.h
qApp
#define qApp
Definition
qcoreapplication.h:42
qobject_p.h
false
return false
Definition
src_corelib_thread_qatomic.cpp:23
qtbase
src
corelib
kernel
qeventloop_p.h
Generated by
1.9.7