File indexing completed on 2024-04-28 05:19:53

0001 /*
0002  * SPDX-FileCopyrightText: 2018 Daniel Vrátil <dvratil@kde.org>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005  */
0006 
0007 #pragma once
0008 
0009 #include <QBuffer>
0010 #include <QNetworkAccessManager>
0011 #include <QNetworkReply>
0012 #include <QNetworkRequest>
0013 
0014 #include "fakenetworkaccessmanager.h"
0015 
0016 class FakeNetworkReply : public QNetworkReply
0017 {
0018     Q_OBJECT
0019 public:
0020     FakeNetworkReply(const FakeNetworkAccessManager::Scenario &scenario);
0021     explicit FakeNetworkReply(QNetworkAccessManager::Operation operation, const QNetworkRequest &originalRequest);
0022 
0023     void abort() override;
0024 
0025     bool atEnd() const override;
0026     qint64 bytesAvailable() const override;
0027     bool canReadLine() const override;
0028     void close() override;
0029     qint64 size() const override;
0030     qint64 pos() const override;
0031 
0032 protected:
0033     qint64 readData(char *data, qint64 maxLen) override;
0034     qint64 writeData(const char *data, qint64 len) override;
0035 
0036 private:
0037     QBuffer mBuffer;
0038 };