18#include <private/qglobal_p.h>
19#include <QtCore/qglobal.h>
20#include "QtCore/qhash.h"
21#include "QtCore/qiodevice.h"
23#include <emscripten/val.h>
27#include <initializer_list>
33#include <emscripten/proxying.h>
34#include <emscripten/threading.h>
60 explicit ArrayBuffer(
const emscripten::val &arrayBuffer);
61 uint32_t byteLength()
const;
63 emscripten::val
val()
const;
67 emscripten::val m_arrayBuffer = emscripten::val::undefined();
72 explicit Blob(
const emscripten::val &blob);
74 uint32_t
size()
const;
79 emscripten::val
val()
const;
80 std::string
type()
const;
84 emscripten::val m_blob = emscripten::val::undefined();
90 explicit File(
const emscripten::val &
file);
99 std::string
name()
const;
100 uint64_t
size()
const;
101 std::string
type()
const;
103 std::function<
void()> completed)
const;
104 void stream(
char *
buffer, std::function<
void()> completed)
const;
105 emscripten::val
val()
const;
108 emscripten::val
file()
const {
return m_file; }
111 emscripten::val m_file = emscripten::val::undefined();
137 explicit FileList(
const emscripten::val &fileList);
142 emscripten::val
val()
const;
145 emscripten::val m_fileList = emscripten::val::undefined();
151 void readAsArrayBuffer(
const Blob &blob)
const;
153 void onLoad(
const std::function<
void(emscripten::val)> &onLoad);
154 void onError(
const std::function<
void(emscripten::val)> &onError);
155 void onAbort(
const std::function<
void(emscripten::val)> &onAbort);
156 emscripten::val
val()
const;
159 emscripten::val m_fileReader = emscripten::val::global(
"FileReader").new_();
160 std::unique_ptr<EventCallback> m_onLoad;
161 std::unique_ptr<EventCallback> m_onError;
162 std::unique_ptr<EventCallback> m_onAbort;
168 explicit Uint8Array(
const emscripten::val &uint8Array);
185 emscripten::val
val()
const;
188 static emscripten::val heap_();
189 static emscripten::val constructor_();
190 emscripten::val m_uint8Array = emscripten::val::undefined();
201 const std::function<
void(emscripten::val)> &fn);
204 emscripten::val m_element = emscripten::val::undefined();
205 std::string m_eventName;
206 std::unique_ptr<std::function<
void(emscripten::val)>> m_handler;
207 emscripten::val m_eventListener = emscripten::val::undefined();
220 template<
typename... Args>
226 emscripten::val promiseObject =
target.call<emscripten::val>(
228 if (promiseObject.isUndefined() || promiseObject[
"constructor"][
"name"].as<std::string>() !=
"Promise") {
229 qFatal(
"This function did not return a promise");
241 return wrappedCallback;
248 bool open(QIODeviceBase::OpenMode
mode)
override;
249 bool isSequential()
const override;
265 bool open(QIODevice::OpenMode
mode)
override;
280 static emscripten::val savedWindow = emscripten::val::global(
"window");
294 T proxyCall(std::function<T()>
task, emscripten::ProxyingQueue *
queue)
297 queue->proxySync(emscripten_main_runtime_thread_id(),
303 inline void proxyCall<void>(std::function<
void()>
task, emscripten::ProxyingQueue *
queue)
305 queue->proxySync(emscripten_main_runtime_thread_id(),
task);
311 return emscripten_is_main_runtime_thread() ?
task() : proxyCall<T>(
std::move(
task),
queue);
317 emscripten::ProxyingQueue singleUseQueue;
318 return runTaskOnMainThread<T>(
task, &singleUseQueue);
\inmodule QtCore \reentrant
virtual qint64 pos() const
For random-access devices, this function returns the position that data is written to or read from.
\macro QT_RESTRICTED_CAST_FROM_ASCII
EventCallback(EventCallback const &)=delete
EventCallback & operator=(EventCallback const &)=delete
FileUrlRegistration(const FileUrlRegistration &other)=delete
FileUrlRegistration(FileUrlRegistration &&other)
FileUrlRegistration & operator=(FileUrlRegistration &&other)
const QString & path() const
FileUrlRegistration & operator=(const FileUrlRegistration &other)=delete
void fileUrlRegistration() const
File & operator=(const File &other)
emscripten::val file() const
const QString & fileUrlPath() const
File & operator=(File &&other)
qint64 size() const override
For open random-access devices, this function returns the size of the device.
bool seek(qint64 pos) override
For random-access devices, this function sets the current position to pos, returning true on success,...
Uint8ArrayIODevice(Uint8Array array)
bool isSequential() const override
Returns true if this device is sequential; otherwise returns false.
qint64 writeData(const char *data, qint64 size) override
Writes up to maxSize bytes from data to the device.
bool open(QIODevice::OpenMode mode) override
Combined button and popup list for selecting options.
void make(emscripten::val target, QString methodName, PromiseCallbacks callbacks, Args... args)
void adoptPromise(emscripten::val promiseObject, PromiseCallbacks callbacks)
void all(std::vector< emscripten::val > promises, PromiseCallbacks callbacks)
bool canBlockCallingThread()
std::vector< std::unique_ptr< FileUrlRegistration > > FileUrlRegistrations
T runTaskOnMainThread(std::function< T()> task)
const char makeContextfulPromiseFunctionName[]
decltype(auto) bindForever(F wrappedCallback)
static jboolean copy(JNIEnv *, jobject)
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char * destination
static QString methodName(const QDBusIntrospection::Method &method)
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLenum GLuint GLenum GLsizei length
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLenum GLuint GLintptr offset
GLsizei GLsizei GLchar * source
QtPrivate::QRegularExpressionMatchIteratorRangeBasedForIterator begin(const QRegularExpressionMatchIterator &iterator)
PromiseCallbacks callbacks
decltype(openFileForWriting({})) File
QFuture< QSet< QChar > > set
[10]
file open(QIODevice::ReadOnly)
void writeData(const QByteArray &data)
std::function< void(emscripten::val)> thenFunc
std::function< void()> finallyFunc
std::function< void(emscripten::val)> catchFunc