From b72701a69070917e743f10d08fa5327862e174d6 Mon Sep 17 00:00:00 2001 From: Juha Vuolle Date: Thu, 10 Aug 2023 10:59:19 +0300 Subject: [PATCH] Add QDebug support for QRestAccessManager MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTBUG-114705 Change-Id: Id33dbfd6906989dfcde654a4f7d6ab4b5e743c33 Reviewed-by: Marc Mutz Reviewed-by: MÃ¥rten Nordheim --- src/network/access/qrestaccessmanager.cpp | 22 ++++++++++++++++++++++ src/network/access/qrestaccessmanager.h | 4 ++++ 2 files changed, 26 insertions(+) diff --git a/src/network/access/qrestaccessmanager.cpp b/src/network/access/qrestaccessmanager.cpp index be5c64a2dcd..59f7151d595 100644 --- a/src/network/access/qrestaccessmanager.cpp +++ b/src/network/access/qrestaccessmanager.cpp @@ -566,6 +566,28 @@ std::chrono::milliseconds QRestAccessManager::transferTimeout() const return d->qnam->transferTimeoutAsDuration(); } +#ifndef QT_NO_DEBUG_STREAM +/*! + \fn QDebug QRestAccessManager::operator<<(QDebug debug, + const QRestAccessManager &manager) + + Writes \a manager into \a debug stream. + + \sa {Debugging Techniques} +*/ +QDebug operator<<(QDebug debug, const QRestAccessManager &manager) +{ + const QDebugStateSaver saver(debug); + debug.resetFormat().nospace(); + + debug << "QRestAccessManager(deletesRepliesOnFinished = " << manager.deletesRepliesOnFinished() + << ", transferTimeout = " << manager.transferTimeout() + << ", active requests = " << manager.d_func()->activeRequests.size() + << ")"; + return debug; +} +#endif // QT_NO_DEBUG_STREAM + /*! Returns the underlying QNetworkAccessManager instance. The instance can be used for accessing less-frequently used features and configurations. diff --git a/src/network/access/qrestaccessmanager.h b/src/network/access/qrestaccessmanager.h index 6cfca383b4e..cfb083a96d8 100644 --- a/src/network/access/qrestaccessmanager.h +++ b/src/network/access/qrestaccessmanager.h @@ -10,6 +10,7 @@ QT_BEGIN_NAMESPACE +class QDebug; class QRestReply; #define QREST_METHOD_WITH_DATA(METHOD, DATA) \ @@ -103,6 +104,9 @@ Q_SIGNALS: void requestFinished(QRestReply *reply); private: +#ifndef QT_NO_DEBUG_STREAM + friend Q_NETWORK_EXPORT QDebug operator<<(QDebug debug, const QRestAccessManager &manager); +#endif Q_DECLARE_PRIVATE(QRestAccessManager) Q_DISABLE_COPY(QRestAccessManager) };