e2fef733be
To allow the user to customize the C++ code that QDoc sees, so as to be able to work-around some limitations on QDoc itself, QDoc defines two symbols: Q_QDOC and Q_CLANG_QDOC, both of which are "true" during an entire execution of QDoc. At a certain point in time, QDoc allowed the user the choice between a custom C++ parser and a Clang based one. The Q_QDOC symbol would always be defined while the Q_CLANG_QDOC symbol would be defined only when the Clang based parser was chosen. In more recent times, QDoc always uses a Clang based parser, such that both Q_CLANG_QDOC and Q_QDOC are always defined, making them equivalent. To avoid using different symbols, and the possible confusion and fragmentation that derives from it, all usages of Q_CLANG_QDOC are now replaced by the equivalent usages of Q_QDOC. Change-Id: I5810abb9ad1016a4c5bbea99acd03381b8514b3f Reviewed-by: Kai Koehne <kai.koehne@qt.io>
86 lines
2.2 KiB
C++
86 lines
2.2 KiB
C++
// Copyright (C) 2016 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
|
|
#ifndef QDBUSPENDINGCALL_H
|
|
#define QDBUSPENDINGCALL_H
|
|
|
|
#include <QtDBus/qtdbusglobal.h>
|
|
#include <QtDBus/qdbusmessage.h>
|
|
#include <QtCore/qobject.h>
|
|
#include <QtCore/qshareddata.h>
|
|
|
|
#ifndef QT_NO_DBUS
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
|
|
|
|
class QDBusConnection;
|
|
class QDBusError;
|
|
class QDBusPendingCallWatcher;
|
|
|
|
class QDBusPendingCallPrivate;
|
|
class Q_DBUS_EXPORT QDBusPendingCall
|
|
{
|
|
public:
|
|
QDBusPendingCall(const QDBusPendingCall &other);
|
|
~QDBusPendingCall();
|
|
QDBusPendingCall &operator=(QDBusPendingCall &&other) noexcept { swap(other); return *this; }
|
|
QDBusPendingCall &operator=(const QDBusPendingCall &other);
|
|
|
|
void swap(QDBusPendingCall &other) noexcept { d.swap(other.d); }
|
|
|
|
#ifndef Q_QDOC
|
|
// pretend that they aren't here
|
|
bool isFinished() const;
|
|
void waitForFinished();
|
|
|
|
bool isError() const;
|
|
bool isValid() const;
|
|
QDBusError error() const;
|
|
QDBusMessage reply() const;
|
|
#endif
|
|
|
|
static QDBusPendingCall fromError(const QDBusError &error);
|
|
static QDBusPendingCall fromCompletedCall(const QDBusMessage &message);
|
|
|
|
protected:
|
|
QExplicitlySharedDataPointer<QDBusPendingCallPrivate> d;
|
|
friend class QDBusPendingCallPrivate;
|
|
friend class QDBusPendingCallWatcher;
|
|
friend class QDBusConnection;
|
|
|
|
QDBusPendingCall(QDBusPendingCallPrivate *dd);
|
|
|
|
private:
|
|
QDBusPendingCall(); // not defined
|
|
};
|
|
|
|
Q_DECLARE_SHARED(QDBusPendingCall)
|
|
|
|
class QDBusPendingCallWatcherPrivate;
|
|
class Q_DBUS_EXPORT QDBusPendingCallWatcher: public QObject, public QDBusPendingCall
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit QDBusPendingCallWatcher(const QDBusPendingCall &call, QObject *parent = nullptr);
|
|
~QDBusPendingCallWatcher();
|
|
|
|
#ifdef Q_QDOC
|
|
// trick qdoc into thinking this method is here
|
|
bool isFinished() const;
|
|
#endif
|
|
void waitForFinished(); // non-virtual override
|
|
|
|
Q_SIGNALS:
|
|
void finished(QDBusPendingCallWatcher *self = nullptr);
|
|
|
|
private:
|
|
Q_DECLARE_PRIVATE(QDBusPendingCallWatcher)
|
|
Q_PRIVATE_SLOT(d_func(), void _q_finished())
|
|
};
|
|
|
|
QT_END_NAMESPACE
|
|
|
|
#endif // QT_NO_DBUS
|
|
#endif
|