Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Common/httq/include/httq/DataStream.h
T

55 lines
1.0 KiB
C++

#pragma once
#include "httq_export.h"
#include <QtCore/QObject>
#include <QtCore/QScopedPointer>
#include <httq/Logger.h>
class QIODevice;
namespace httq
{
class HttpRequest;
class HTTQ_EXPORT DataStream : public QObject
{
Q_OBJECT
private:
explicit DataStream(QIODevice *from,
QIODevice *to,
const QByteArray &bodyPartial,
qint64 fileLength,
size_t bufferSize,
LoggerFactory *loggerFactory,
QObject *parent = nullptr);
public:
~DataStream();
private:
friend class HttpRequest;
void readNext();
void writeNext();
bool mReadyWrite{true};
QByteArray mBuffer;
QByteArray mBodyPartial;
QIODevice *mFrom;
QIODevice *mTo;
qint64 mBufferSize;
qint64 alreadyRead{0};
qint64 mFileLength;
bool mFromSupportsSignals{false};
bool mToSupportsSignals{false};
QScopedPointer<Logger> mLogger;
signals:
void signalDone();
};
} // namespace httq