#include #include #include #include #include #include #include #include #include #include "qthread.h" #include "gen_qthread.h" extern "C" { extern void miqt_exec_callback(void* cb, int argc, void* argv); } QThread* QThread_new() { return new QThread(); } QThread* QThread_new2(QObject* parent) { return new QThread(parent); } QMetaObject* QThread_MetaObject(QThread* self) { return (QMetaObject*) const_cast(self)->metaObject(); } void QThread_Tr(const char* s, char** _out, int* _out_Strlen) { QString ret = QThread::tr(s); // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret.toUtf8(); *_out = static_cast(malloc(b.length())); memcpy(*_out, b.data(), b.length()); *_out_Strlen = b.length(); } void QThread_TrUtf8(const char* s, char** _out, int* _out_Strlen) { QString ret = QThread::trUtf8(s); // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret.toUtf8(); *_out = static_cast(malloc(b.length())); memcpy(*_out, b.data(), b.length()); *_out_Strlen = b.length(); } QThread* QThread_CurrentThread() { return QThread::currentThread(); } int QThread_IdealThreadCount() { return QThread::idealThreadCount(); } void QThread_YieldCurrentThread() { QThread::yieldCurrentThread(); } void QThread_SetPriority(QThread* self, uintptr_t priority) { self->setPriority(static_cast(priority)); } uintptr_t QThread_Priority(QThread* self) { QThread::Priority ret = const_cast(self)->priority(); return static_cast(ret); } bool QThread_IsFinished(QThread* self) { return const_cast(self)->isFinished(); } bool QThread_IsRunning(QThread* self) { return const_cast(self)->isRunning(); } void QThread_RequestInterruption(QThread* self) { self->requestInterruption(); } bool QThread_IsInterruptionRequested(QThread* self) { return const_cast(self)->isInterruptionRequested(); } void QThread_SetStackSize(QThread* self, unsigned int stackSize) { self->setStackSize(static_cast(stackSize)); } unsigned int QThread_StackSize(QThread* self) { return const_cast(self)->stackSize(); } void QThread_Exit(QThread* self) { self->exit(); } QAbstractEventDispatcher* QThread_EventDispatcher(QThread* self) { return const_cast(self)->eventDispatcher(); } void QThread_SetEventDispatcher(QThread* self, QAbstractEventDispatcher* eventDispatcher) { self->setEventDispatcher(eventDispatcher); } bool QThread_Event(QThread* self, QEvent* event) { return self->event(event); } int QThread_LoopLevel(QThread* self) { return const_cast(self)->loopLevel(); } void QThread_Start(QThread* self) { self->start(); } void QThread_Terminate(QThread* self) { self->terminate(); } void QThread_Quit(QThread* self) { self->quit(); } bool QThread_Wait(QThread* self) { return self->wait(); } bool QThread_WaitWithTime(QThread* self, unsigned long time) { return self->wait(static_cast(time)); } void QThread_Sleep(unsigned long param1) { QThread::sleep(static_cast(param1)); } void QThread_Msleep(unsigned long param1) { QThread::msleep(static_cast(param1)); } void QThread_Usleep(unsigned long param1) { QThread::usleep(static_cast(param1)); } void QThread_Tr2(const char* s, const char* c, char** _out, int* _out_Strlen) { QString ret = QThread::tr(s, c); // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret.toUtf8(); *_out = static_cast(malloc(b.length())); memcpy(*_out, b.data(), b.length()); *_out_Strlen = b.length(); } void QThread_Tr3(const char* s, const char* c, int n, char** _out, int* _out_Strlen) { QString ret = QThread::tr(s, c, static_cast(n)); // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret.toUtf8(); *_out = static_cast(malloc(b.length())); memcpy(*_out, b.data(), b.length()); *_out_Strlen = b.length(); } void QThread_TrUtf82(const char* s, const char* c, char** _out, int* _out_Strlen) { QString ret = QThread::trUtf8(s, c); // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret.toUtf8(); *_out = static_cast(malloc(b.length())); memcpy(*_out, b.data(), b.length()); *_out_Strlen = b.length(); } void QThread_TrUtf83(const char* s, const char* c, int n, char** _out, int* _out_Strlen) { QString ret = QThread::trUtf8(s, c, static_cast(n)); // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret.toUtf8(); *_out = static_cast(malloc(b.length())); memcpy(*_out, b.data(), b.length()); *_out_Strlen = b.length(); } void QThread_Exit1(QThread* self, int retcode) { self->exit(static_cast(retcode)); } void QThread_Start1(QThread* self, uintptr_t param1) { self->start(static_cast(param1)); } bool QThread_Wait1(QThread* self, QDeadlineTimer* deadline) { return self->wait(*deadline); } void QThread_Delete(QThread* self) { delete self; }