// Copyright (C) 2025 Jarek Kobus // Copyright (C) 2025 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 // Qt-Security score:significant reason:default #ifndef QTASKTREE_QNETWORKREPLYWRAPPERTASK_H #define QTASKTREE_QNETWORKREPLYWRAPPERTASK_H #include #include #include QT_BEGIN_NAMESPACE class QNetworkAccessManager; class QNetworkRequest; namespace QtTaskTree { class QNetworkReplyWrapperPrivate; class Q_TASKTREE_EXPORT QNetworkReplyWrapper : public QObject { Q_OBJECT Q_DECLARE_PRIVATE(QNetworkReplyWrapper) public: QNetworkReplyWrapper() : QNetworkReplyWrapper(nullptr) {} explicit QNetworkReplyWrapper(QObject *parent); ~QNetworkReplyWrapper() override; void setRequest(const QNetworkRequest &request); void setOperation(QNetworkAccessManager::Operation operation); void setVerb(const QByteArray &verb); void setData(const QByteArray &data); void setNetworkAccessManager(QNetworkAccessManager *manager); QNetworkReply *reply() const; void start(); Q_SIGNALS: void started(); void downloadProgress(qint64 bytesReceived, qint64 bytesTotal); #if QT_CONFIG(ssl) void sslErrors(const QList &errors); #endif void done(QtTaskTree::DoneResult result); protected: bool event(QEvent *event) override; }; using QNetworkReplyWrapperTask = QCustomTask; } // namespace QtTaskTree QT_END_NAMESPACE #endif // QTASKTREE_QNETWORKREPLYWRAPPERTASK_H