5#ifndef QNETWORKREPLYWASMIMPL_H
6#define QNETWORKREPLYWASMIMPL_H
23#include <QtCore/qfile.h>
25#include <private/qtnetworkglobal_p.h>
26#include <private/qabstractfileengine_p.h>
28#include <emscripten.h>
29#include <emscripten/fetch.h>
45 virtual void abort()
override;
48 virtual void close()
override;
55 void setup(QNetworkAccessManager::Operation op,
const QNetworkRequest &request,
56 QIODevice *outgoingData);
71
72
73
74
75
76
77
78
99 static void setReplyAttributes(quintptr data,
int statusCode,
const QString &statusReason);
101 void emitReplyError(QNetworkReply::NetworkError errorCode,
const QString &);
108 void setup(QNetworkAccessManager::Operation op,
const QNetworkRequest &request,
109 QIODevice *outgoingData);
133 static void stateChange(emscripten_fetch_t *fetch);
142 Q_DECLARE_PUBLIC(QNetworkReplyWasmImpl)
qint64 downloadBufferReadPosition
std::shared_ptr< QRingBuffer > outgoingDataBuffer
qint64 downloadBufferCurrentSize
static void setReplyAttributes(quintptr data, int statusCode, const QString &statusReason)
~QNetworkReplyWasmImplPrivate()
void setup(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData)
static void downloadFailed(emscripten_fetch_t *fetch)
QNetworkReplyWasmImplPrivate()
static void downloadSucceeded(emscripten_fetch_t *fetch)
void emitReplyError(QNetworkReply::NetworkError errorCode, const QString &)
QByteArray downloadBuffer
emscripten_fetch_t * m_fetch
void setStatusCode(int status, const QByteArray &statusText)
void _q_bufferOutgoingData()
std::shared_ptr< QAtomicInt > pendingDownloadData
std::shared_ptr< QAtomicInt > pendingDownloadProgress
void headersReceived(const QByteArray &buffer)
static void stateChange(emscripten_fetch_t *fetch)
QNetworkAccessManagerPrivate * managerPrivate
void emitDataReadProgress(qint64 done, qint64 total)
FetchContext * m_fetchContext
void _q_bufferOutgoingDataFinished()
static QNetworkReply::NetworkError statusCodeFromHttp(int httpStatusCode, const QUrl &url)
static void downloadProgress(emscripten_fetch_t *fetch)
void dataReceived(const QByteArray &buffer)
qint64 size() const override
For open random-access devices, this function returns the size of the device.
virtual qint64 bytesAvailable() const override
Returns the number of bytes that are available for reading.
virtual qint64 readData(char *data, qint64 maxlen) override
virtual void abort() override
Aborts the operation immediately and closes any network connections still open.
void setup(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData)
virtual bool isSequential() const override
\reimp
virtual void close() override
Closes this device for reading.
Combined button and popup list for selecting options.
constexpr int getArraySize(int factor)
static int parseHeaderName(const QByteArray &headerName)
The FetchContext class ensures the requestData object remains valid while a fetch operation is pendin...
FetchContext(QNetworkReplyWasmImplPrivate *networkReply)
QNetworkReplyWasmImplPrivate * reply