diff options
author | Lorn Potter <lorn.potter@gmail.com> | 2019-09-07 07:06:30 +1000 |
---|---|---|
committer | Morten Johan Sørvig <morten.sorvig@qt.io> | 2020-03-26 22:36:36 +0000 |
commit | 643410136004825cb395e342f5c4ff90e85de4fe (patch) | |
tree | 9f0cab449b6b1059e7b132d9a0c3ca5ea42c5c13 /src/network/access/qnetworkreplywasmimpl_p.h | |
parent | 96de59d7c1068022dbb590d7abbdcf6eaf5d0566 (diff) |
wasm: refactor network to use fetch API
This has better support for threaded use, and gets rid of bind use.
This requires emscripten 1.38.37 and above
Task-number: QTBUG-76891
Change-Id: Ic30a6820c2ce945c314751c06cfc356914a71217
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/network/access/qnetworkreplywasmimpl_p.h')
-rw-r--r-- | src/network/access/qnetworkreplywasmimpl_p.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/network/access/qnetworkreplywasmimpl_p.h b/src/network/access/qnetworkreplywasmimpl_p.h index e1e6bf4e24..5463ce8a98 100644 --- a/src/network/access/qnetworkreplywasmimpl_p.h +++ b/src/network/access/qnetworkreplywasmimpl_p.h @@ -61,8 +61,7 @@ #include <private/qabstractfileengine_p.h> #include <emscripten.h> -#include <emscripten/html5.h> -#include <emscripten/val.h> +#include <emscripten/fetch.h> QT_BEGIN_NAMESPACE @@ -135,10 +134,17 @@ public: QIODevice *outgoingData; QSharedPointer<QRingBuffer> outgoingDataBuffer; - emscripten::val m_xhr = emscripten::val::null(); - void doAbort() const; + void doAbort() const; + + static void downloadProgress(emscripten_fetch_t *fetch); + static void downloadFailed(emscripten_fetch_t *fetch); + static void downloadSucceeded(emscripten_fetch_t *fetch); + static void stateChange(emscripten_fetch_t *fetch); static QNetworkReply::NetworkError statusCodeFromHttp(int httpStatusCode, const QUrl &url); + + emscripten_fetch_t *m_fetch; + Q_DECLARE_PUBLIC(QNetworkReplyWasmImpl) }; |