Qt 4.8
qt-4.8.6
src
corelib
kernel
qabstracteventdispatcher.h
Go to the documentation of this file.
1
/****************************************************************************
2
**
3
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
4
** Contact: http://www.qt-project.org/legal
5
**
6
** This file is part of the QtCore module of the Qt Toolkit.
7
**
8
** $QT_BEGIN_LICENSE:LGPL$
9
** Commercial License Usage
10
** Licensees holding valid commercial Qt licenses may use this file in
11
** accordance with the commercial license agreement provided with the
12
** Software or, alternatively, in accordance with the terms contained in
13
** a written agreement between you and Digia. For licensing terms and
14
** conditions see http://qt.digia.com/licensing. For further information
15
** use the contact form at http://qt.digia.com/contact-us.
16
**
17
** GNU Lesser General Public License Usage
18
** Alternatively, this file may be used under the terms of the GNU Lesser
19
** General Public License version 2.1 as published by the Free Software
20
** Foundation and appearing in the file LICENSE.LGPL included in the
21
** packaging of this file. Please review the following information to
22
** ensure the GNU Lesser General Public License version 2.1 requirements
23
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24
**
25
** In addition, as a special exception, Digia gives you certain additional
26
** rights. These rights are described in the Digia Qt LGPL Exception
27
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28
**
29
** GNU General Public License Usage
30
** Alternatively, this file may be used under the terms of the GNU
31
** General Public License version 3.0 as published by the Free Software
32
** Foundation and appearing in the file LICENSE.GPL included in the
33
** packaging of this file. Please review the following information to
34
** ensure the GNU General Public License version 3.0 requirements will be
35
** met: http://www.gnu.org/copyleft/gpl.html.
36
**
37
**
38
** $QT_END_LICENSE$
39
**
40
****************************************************************************/
41
42
#ifndef QABSTRACTEVENTDISPATCHER_H
43
#define QABSTRACTEVENTDISPATCHER_H
44
45
#include <QtCore/qobject.h>
46
#include <QtCore/qeventloop.h>
47
48
QT_BEGIN_HEADER
49
50
QT_BEGIN_NAMESPACE
51
52
QT_MODULE
(Core)
53
54
class
QAbstractEventDispatcherPrivate
;
55
class
QSocketNotifier
;
56
template
<
typename
T1,
typename
T2>
struct
QPair
;
57
58
class
Q_CORE_EXPORT
QAbstractEventDispatcher
:
public
QObject
59
{
60
Q_OBJECT
61
Q_DECLARE_PRIVATE
(
QAbstractEventDispatcher
)
62
63
public
:
64
typedef
QPair<int, int>
TimerInfo
;
65
66
explicit
QAbstractEventDispatcher
(
QObject
*parent = 0);
67
~
QAbstractEventDispatcher
();
68
69
static
QAbstractEventDispatcher
*instance(
QThread
*thread = 0);
70
71
virtual
bool
processEvents(QEventLoop::ProcessEventsFlags flags) = 0;
72
virtual
bool
hasPendingEvents() = 0;
73
74
virtual
void
registerSocketNotifier(
QSocketNotifier
*notifier) = 0;
75
virtual
void
unregisterSocketNotifier(
QSocketNotifier
*notifier) = 0;
76
77
int
registerTimer(
int
interval,
QObject
*
object
);
78
virtual
void
registerTimer(
int
timerId,
int
interval,
QObject
*
object
) = 0;
79
virtual
bool
unregisterTimer(
int
timerId) = 0;
80
virtual
bool
unregisterTimers(
QObject
*
object
) = 0;
81
virtual
QList<TimerInfo>
registeredTimers(
QObject
*
object
)
const
= 0;
82
83
virtual
void
wakeUp() = 0;
84
virtual
void
interrupt() = 0;
85
virtual
void
flush
() = 0;
86
87
virtual
void
startingUp();
88
virtual
void
closingDown();
89
90
typedef
bool(*EventFilter)(
void
*message);
91
EventFilter setEventFilter(EventFilter
filter
);
92
bool
filterEvent(
void
*message);
93
94
Q_SIGNALS
:
95
void
aboutToBlock();
96
void
awake();
97
98
protected
:
99
QAbstractEventDispatcher
(
QAbstractEventDispatcherPrivate
&,
100
QObject
*parent);
101
};
102
103
QT_END_NAMESPACE
104
105
QT_END_HEADER
106
107
#endif // QABSTRACTEVENTDISPATCHER_H
QT_END_NAMESPACE
#define QT_END_NAMESPACE
This macro expands to.
Definition:
qglobal.h:90
QT_MODULE
#define QT_MODULE(x)
Definition:
qglobal.h:2783
QT_BEGIN_HEADER
#define QT_BEGIN_HEADER
Definition:
qglobal.h:136
QAbstractEventDispatcher::TimerInfo
QPair< int, int > TimerInfo
Typedef for QPair<int, int>.
Definition:
qabstracteventdispatcher.h:64
QObject
The QObject class is the base class of all Qt objects.
Definition:
qobject.h:111
Q_SIGNALS
#define Q_SIGNALS
Definition:
qobjectdefs.h:72
QSocketNotifier
The QSocketNotifier class provides support for monitoring activity on a file descriptor.
Definition:
qsocketnotifier.h:53
QT_BEGIN_NAMESPACE
#define QT_BEGIN_NAMESPACE
This macro expands to.
Definition:
qglobal.h:89
QPair
Definition:
qabstracteventdispatcher.h:56
Q_OBJECT
#define Q_OBJECT
Definition:
qobjectdefs.h:157
Q_CORE_EXPORT
#define Q_CORE_EXPORT
Definition:
qglobal.h:1449
QtConcurrent::filter
QFuture< void > filter(Sequence &sequence, FilterFunction filterFunction)
flush
Q_CORE_EXPORT QTextStream & flush(QTextStream &s)
Q_DECLARE_PRIVATE
#define Q_DECLARE_PRIVATE(Class)
Definition:
qglobal.h:2467
QAbstractEventDispatcherPrivate
Definition:
qabstracteventdispatcher_p.h:63
QT_END_HEADER
#define QT_END_HEADER
Definition:
qglobal.h:137
QThread
The QThread class provides a platform-independent way to manage threads.
Definition:
qthread.h:59
QAbstractEventDispatcher
The QAbstractEventDispatcher class provides an interface to manage Qt's event queue.
Definition:
qabstracteventdispatcher.h:58
QList
The QList class is a template class that provides lists.
Definition:
qdatastream.h:62
Qt 4.8 Source Code Browser