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// Qt-Security score:significant reason:default
4
5#ifndef QFUTUREWATCHER_P_H
6#define QFUTUREWATCHER_P_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include <QtCore/qfuturewatcher.h>
20
21#include "qfutureinterface_p.h"
22#include <qlist.h>
23
24#include <private/qobject_p.h>
25
26QT_REQUIRE_CONFIG(future);
27
28QT_BEGIN_NAMESPACE
29
30class QFutureWatcherBasePrivate : public QObjectPrivate,
31 public QFutureCallOutInterface
32{
33 Q_DECLARE_PUBLIC(QFutureWatcherBase)
34
35public:
36 QFutureWatcherBasePrivate();
37
38 void postCallOutEvent(const QFutureCallOutEvent &callOutEvent) override;
39 void callOutInterfaceDisconnected() override;
40
41 void sendCallOutEvent(QFutureCallOutEvent *event);
42
43 QAtomicInt pendingResultsReady;
44 int maximumPendingResultsReady;
45
46 QAtomicInt resultAtConnected;
47};
48
49QT_END_NAMESPACE
50
51#endif
52

source code of qtbase/src/corelib/thread/qfuturewatcher_p.h