#include #include #include #include #include #include #include #include #include #include "qprocess.h" #include "gen_qprocess.h" extern "C" { extern void miqt_exec_callback(void* cb, int argc, void* argv); } QProcessEnvironment* QProcessEnvironment_new() { return new QProcessEnvironment(); } QProcessEnvironment* QProcessEnvironment_new2(QProcessEnvironment* other) { return new QProcessEnvironment(*other); } void QProcessEnvironment_OperatorAssign(QProcessEnvironment* self, QProcessEnvironment* other) { self->operator=(*other); } void QProcessEnvironment_Swap(QProcessEnvironment* self, QProcessEnvironment* other) { self->swap(*other); } bool QProcessEnvironment_OperatorEqual(QProcessEnvironment* self, QProcessEnvironment* other) { return const_cast(self)->operator==(*other); } bool QProcessEnvironment_OperatorNotEqual(QProcessEnvironment* self, QProcessEnvironment* other) { return const_cast(self)->operator!=(*other); } bool QProcessEnvironment_IsEmpty(QProcessEnvironment* self) { return const_cast(self)->isEmpty(); } void QProcessEnvironment_Clear(QProcessEnvironment* self) { self->clear(); } bool QProcessEnvironment_Contains(QProcessEnvironment* self, const char* name, size_t name_Strlen) { QString name_QString = QString::fromUtf8(name, name_Strlen); return const_cast(self)->contains(name_QString); } void QProcessEnvironment_Insert(QProcessEnvironment* self, const char* name, size_t name_Strlen, const char* value, size_t value_Strlen) { QString name_QString = QString::fromUtf8(name, name_Strlen); QString value_QString = QString::fromUtf8(value, value_Strlen); self->insert(name_QString, value_QString); } void QProcessEnvironment_Remove(QProcessEnvironment* self, const char* name, size_t name_Strlen) { QString name_QString = QString::fromUtf8(name, name_Strlen); self->remove(name_QString); } void QProcessEnvironment_Value(QProcessEnvironment* self, const char* name, size_t name_Strlen, char** _out, int* _out_Strlen) { QString name_QString = QString::fromUtf8(name, name_Strlen); QString ret = const_cast(self)->value(name_QString); // 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 QProcessEnvironment_ToStringList(QProcessEnvironment* self, char*** _out, int** _out_Lengths, size_t* _out_len) { QStringList ret = const_cast(self)->toStringList(); // Convert QStringList from C++ memory to manually-managed C memory char** __out = static_cast(malloc(sizeof(char*) * ret.length())); int* __out_Lengths = static_cast(malloc(sizeof(int) * ret.length())); for (size_t i = 0, e = ret.length(); i < e; ++i) { // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret[i].toUtf8(); __out[i] = static_cast(malloc(b.length())); memcpy(__out[i], b.data(), b.length()); __out_Lengths[i] = b.length(); } *_out = __out; *_out_Lengths = __out_Lengths; *_out_len = ret.length(); } void QProcessEnvironment_Keys(QProcessEnvironment* self, char*** _out, int** _out_Lengths, size_t* _out_len) { QStringList ret = const_cast(self)->keys(); // Convert QStringList from C++ memory to manually-managed C memory char** __out = static_cast(malloc(sizeof(char*) * ret.length())); int* __out_Lengths = static_cast(malloc(sizeof(int) * ret.length())); for (size_t i = 0, e = ret.length(); i < e; ++i) { // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret[i].toUtf8(); __out[i] = static_cast(malloc(b.length())); memcpy(__out[i], b.data(), b.length()); __out_Lengths[i] = b.length(); } *_out = __out; *_out_Lengths = __out_Lengths; *_out_len = ret.length(); } void QProcessEnvironment_InsertWithQProcessEnvironment(QProcessEnvironment* self, QProcessEnvironment* e) { self->insert(*e); } QProcessEnvironment* QProcessEnvironment_SystemEnvironment() { QProcessEnvironment ret = QProcessEnvironment::systemEnvironment(); // Copy-construct value returned type into heap-allocated copy return static_cast(new QProcessEnvironment(ret)); } void QProcessEnvironment_Value2(QProcessEnvironment* self, const char* name, size_t name_Strlen, const char* defaultValue, size_t defaultValue_Strlen, char** _out, int* _out_Strlen) { QString name_QString = QString::fromUtf8(name, name_Strlen); QString defaultValue_QString = QString::fromUtf8(defaultValue, defaultValue_Strlen); QString ret = const_cast(self)->value(name_QString, defaultValue_QString); // 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 QProcessEnvironment_Delete(QProcessEnvironment* self) { delete self; } QProcess* QProcess_new() { return new QProcess(); } QProcess* QProcess_new2(QObject* parent) { return new QProcess(parent); } QMetaObject* QProcess_MetaObject(QProcess* self) { return (QMetaObject*) const_cast(self)->metaObject(); } void QProcess_Tr(const char* s, char** _out, int* _out_Strlen) { QString ret = QProcess::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 QProcess_TrUtf8(const char* s, char** _out, int* _out_Strlen) { QString ret = QProcess::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(); } void QProcess_Start(QProcess* self, const char* program, size_t program_Strlen, char** arguments, uint64_t* arguments_Lengths, size_t arguments_len) { QString program_QString = QString::fromUtf8(program, program_Strlen); QList arguments_QList; arguments_QList.reserve(arguments_len); for(size_t i = 0; i < arguments_len; ++i) { arguments_QList.push_back(QString::fromUtf8(arguments[i], arguments_Lengths[i])); } self->start(program_QString, arguments_QList); } void QProcess_StartWithCommand(QProcess* self, const char* command, size_t command_Strlen) { QString command_QString = QString::fromUtf8(command, command_Strlen); self->start(command_QString); } void QProcess_Start2(QProcess* self) { self->start(); } bool QProcess_StartDetached(QProcess* self) { return self->startDetached(); } bool QProcess_Open(QProcess* self) { return self->open(); } void QProcess_Program(QProcess* self, char** _out, int* _out_Strlen) { QString ret = const_cast(self)->program(); // 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 QProcess_SetProgram(QProcess* self, const char* program, size_t program_Strlen) { QString program_QString = QString::fromUtf8(program, program_Strlen); self->setProgram(program_QString); } void QProcess_Arguments(QProcess* self, char*** _out, int** _out_Lengths, size_t* _out_len) { QStringList ret = const_cast(self)->arguments(); // Convert QStringList from C++ memory to manually-managed C memory char** __out = static_cast(malloc(sizeof(char*) * ret.length())); int* __out_Lengths = static_cast(malloc(sizeof(int) * ret.length())); for (size_t i = 0, e = ret.length(); i < e; ++i) { // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret[i].toUtf8(); __out[i] = static_cast(malloc(b.length())); memcpy(__out[i], b.data(), b.length()); __out_Lengths[i] = b.length(); } *_out = __out; *_out_Lengths = __out_Lengths; *_out_len = ret.length(); } void QProcess_SetArguments(QProcess* self, char** arguments, uint64_t* arguments_Lengths, size_t arguments_len) { QList arguments_QList; arguments_QList.reserve(arguments_len); for(size_t i = 0; i < arguments_len; ++i) { arguments_QList.push_back(QString::fromUtf8(arguments[i], arguments_Lengths[i])); } self->setArguments(arguments_QList); } uintptr_t QProcess_ReadChannelMode(QProcess* self) { QProcess::ProcessChannelMode ret = const_cast(self)->readChannelMode(); return static_cast(ret); } void QProcess_SetReadChannelMode(QProcess* self, uintptr_t mode) { self->setReadChannelMode(static_cast(mode)); } uintptr_t QProcess_ProcessChannelMode(QProcess* self) { QProcess::ProcessChannelMode ret = const_cast(self)->processChannelMode(); return static_cast(ret); } void QProcess_SetProcessChannelMode(QProcess* self, uintptr_t mode) { self->setProcessChannelMode(static_cast(mode)); } uintptr_t QProcess_InputChannelMode(QProcess* self) { QProcess::InputChannelMode ret = const_cast(self)->inputChannelMode(); return static_cast(ret); } void QProcess_SetInputChannelMode(QProcess* self, uintptr_t mode) { self->setInputChannelMode(static_cast(mode)); } uintptr_t QProcess_ReadChannel(QProcess* self) { QProcess::ProcessChannel ret = const_cast(self)->readChannel(); return static_cast(ret); } void QProcess_SetReadChannel(QProcess* self, uintptr_t channel) { self->setReadChannel(static_cast(channel)); } void QProcess_CloseReadChannel(QProcess* self, uintptr_t channel) { self->closeReadChannel(static_cast(channel)); } void QProcess_CloseWriteChannel(QProcess* self) { self->closeWriteChannel(); } void QProcess_SetStandardInputFile(QProcess* self, const char* fileName, size_t fileName_Strlen) { QString fileName_QString = QString::fromUtf8(fileName, fileName_Strlen); self->setStandardInputFile(fileName_QString); } void QProcess_SetStandardOutputFile(QProcess* self, const char* fileName, size_t fileName_Strlen) { QString fileName_QString = QString::fromUtf8(fileName, fileName_Strlen); self->setStandardOutputFile(fileName_QString); } void QProcess_SetStandardErrorFile(QProcess* self, const char* fileName, size_t fileName_Strlen) { QString fileName_QString = QString::fromUtf8(fileName, fileName_Strlen); self->setStandardErrorFile(fileName_QString); } void QProcess_SetStandardOutputProcess(QProcess* self, QProcess* destination) { self->setStandardOutputProcess(destination); } void QProcess_WorkingDirectory(QProcess* self, char** _out, int* _out_Strlen) { QString ret = const_cast(self)->workingDirectory(); // 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 QProcess_SetWorkingDirectory(QProcess* self, const char* dir, size_t dir_Strlen) { QString dir_QString = QString::fromUtf8(dir, dir_Strlen); self->setWorkingDirectory(dir_QString); } void QProcess_SetEnvironment(QProcess* self, char** environment, uint64_t* environment_Lengths, size_t environment_len) { QList environment_QList; environment_QList.reserve(environment_len); for(size_t i = 0; i < environment_len; ++i) { environment_QList.push_back(QString::fromUtf8(environment[i], environment_Lengths[i])); } self->setEnvironment(environment_QList); } void QProcess_Environment(QProcess* self, char*** _out, int** _out_Lengths, size_t* _out_len) { QStringList ret = const_cast(self)->environment(); // Convert QStringList from C++ memory to manually-managed C memory char** __out = static_cast(malloc(sizeof(char*) * ret.length())); int* __out_Lengths = static_cast(malloc(sizeof(int) * ret.length())); for (size_t i = 0, e = ret.length(); i < e; ++i) { // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret[i].toUtf8(); __out[i] = static_cast(malloc(b.length())); memcpy(__out[i], b.data(), b.length()); __out_Lengths[i] = b.length(); } *_out = __out; *_out_Lengths = __out_Lengths; *_out_len = ret.length(); } void QProcess_SetProcessEnvironment(QProcess* self, QProcessEnvironment* environment) { self->setProcessEnvironment(*environment); } QProcessEnvironment* QProcess_ProcessEnvironment(QProcess* self) { QProcessEnvironment ret = const_cast(self)->processEnvironment(); // Copy-construct value returned type into heap-allocated copy return static_cast(new QProcessEnvironment(ret)); } uintptr_t QProcess_Error(QProcess* self) { QProcess::ProcessError ret = const_cast(self)->error(); return static_cast(ret); } uintptr_t QProcess_State(QProcess* self) { QProcess::ProcessState ret = const_cast(self)->state(); return static_cast(ret); } int64_t QProcess_Pid(QProcess* self) { #ifdef Q_OS_LINUX return const_cast(self)->pid(); #else int64_t _ret_invalidOS; return _ret_invalidOS; #endif } long long QProcess_ProcessId(QProcess* self) { return const_cast(self)->processId(); } bool QProcess_WaitForStarted(QProcess* self) { return self->waitForStarted(); } bool QProcess_WaitForReadyRead(QProcess* self) { return self->waitForReadyRead(); } bool QProcess_WaitForBytesWritten(QProcess* self) { return self->waitForBytesWritten(); } bool QProcess_WaitForFinished(QProcess* self) { return self->waitForFinished(); } QByteArray* QProcess_ReadAllStandardOutput(QProcess* self) { QByteArray ret = self->readAllStandardOutput(); // Copy-construct value returned type into heap-allocated copy return static_cast(new QByteArray(ret)); } QByteArray* QProcess_ReadAllStandardError(QProcess* self) { QByteArray ret = self->readAllStandardError(); // Copy-construct value returned type into heap-allocated copy return static_cast(new QByteArray(ret)); } int QProcess_ExitCode(QProcess* self) { return const_cast(self)->exitCode(); } uintptr_t QProcess_ExitStatus(QProcess* self) { QProcess::ExitStatus ret = const_cast(self)->exitStatus(); return static_cast(ret); } long long QProcess_BytesAvailable(QProcess* self) { return const_cast(self)->bytesAvailable(); } long long QProcess_BytesToWrite(QProcess* self) { return const_cast(self)->bytesToWrite(); } bool QProcess_IsSequential(QProcess* self) { return const_cast(self)->isSequential(); } bool QProcess_CanReadLine(QProcess* self) { return const_cast(self)->canReadLine(); } void QProcess_Close(QProcess* self) { self->close(); } bool QProcess_AtEnd(QProcess* self) { return const_cast(self)->atEnd(); } int QProcess_Execute(const char* program, size_t program_Strlen, char** arguments, uint64_t* arguments_Lengths, size_t arguments_len) { QString program_QString = QString::fromUtf8(program, program_Strlen); QList arguments_QList; arguments_QList.reserve(arguments_len); for(size_t i = 0; i < arguments_len; ++i) { arguments_QList.push_back(QString::fromUtf8(arguments[i], arguments_Lengths[i])); } return QProcess::execute(program_QString, arguments_QList); } int QProcess_ExecuteWithCommand(const char* command, size_t command_Strlen) { QString command_QString = QString::fromUtf8(command, command_Strlen); return QProcess::execute(command_QString); } bool QProcess_StartDetached2(const char* program, size_t program_Strlen, char** arguments, uint64_t* arguments_Lengths, size_t arguments_len, const char* workingDirectory, size_t workingDirectory_Strlen) { QString program_QString = QString::fromUtf8(program, program_Strlen); QList arguments_QList; arguments_QList.reserve(arguments_len); for(size_t i = 0; i < arguments_len; ++i) { arguments_QList.push_back(QString::fromUtf8(arguments[i], arguments_Lengths[i])); } QString workingDirectory_QString = QString::fromUtf8(workingDirectory, workingDirectory_Strlen); return QProcess::startDetached(program_QString, arguments_QList, workingDirectory_QString); } bool QProcess_StartDetached3(const char* program, size_t program_Strlen, char** arguments, uint64_t* arguments_Lengths, size_t arguments_len) { QString program_QString = QString::fromUtf8(program, program_Strlen); QList arguments_QList; arguments_QList.reserve(arguments_len); for(size_t i = 0; i < arguments_len; ++i) { arguments_QList.push_back(QString::fromUtf8(arguments[i], arguments_Lengths[i])); } return QProcess::startDetached(program_QString, arguments_QList); } bool QProcess_StartDetachedWithCommand(const char* command, size_t command_Strlen) { QString command_QString = QString::fromUtf8(command, command_Strlen); return QProcess::startDetached(command_QString); } void QProcess_SystemEnvironment(char*** _out, int** _out_Lengths, size_t* _out_len) { QStringList ret = QProcess::systemEnvironment(); // Convert QStringList from C++ memory to manually-managed C memory char** __out = static_cast(malloc(sizeof(char*) * ret.length())); int* __out_Lengths = static_cast(malloc(sizeof(int) * ret.length())); for (size_t i = 0, e = ret.length(); i < e; ++i) { // Convert QString from UTF-16 in C++ RAII memory to UTF-8 in manually-managed C memory QByteArray b = ret[i].toUtf8(); __out[i] = static_cast(malloc(b.length())); memcpy(__out[i], b.data(), b.length()); __out_Lengths[i] = b.length(); } *_out = __out; *_out_Lengths = __out_Lengths; *_out_len = ret.length(); } void QProcess_NullDevice(char** _out, int* _out_Strlen) { QString ret = QProcess::nullDevice(); // 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 QProcess_Terminate(QProcess* self) { self->terminate(); } void QProcess_Kill(QProcess* self) { self->kill(); } void QProcess_Finished(QProcess* self, int exitCode) { self->finished(static_cast(exitCode)); } void QProcess_connect_Finished(QProcess* self, void* slot) { QProcess::connect(self, static_cast(&QProcess::finished), self, [=](int exitCode) { miqt_exec_callback(slot, 0, nullptr); }); } void QProcess_Finished2(QProcess* self, int exitCode, uintptr_t exitStatus) { self->finished(static_cast(exitCode), static_cast(exitStatus)); } void QProcess_connect_Finished2(QProcess* self, void* slot) { QProcess::connect(self, static_cast(&QProcess::finished), self, [=](int exitCode, QProcess::ExitStatus exitStatus) { miqt_exec_callback(slot, 0, nullptr); }); } void QProcess_ErrorWithError(QProcess* self, uintptr_t error) { self->error(static_cast(error)); } void QProcess_connect_ErrorWithError(QProcess* self, void* slot) { QProcess::connect(self, static_cast(&QProcess::error), self, [=](QProcess::ProcessError error) { miqt_exec_callback(slot, 0, nullptr); }); } void QProcess_ErrorOccurred(QProcess* self, uintptr_t error) { self->errorOccurred(static_cast(error)); } void QProcess_connect_ErrorOccurred(QProcess* self, void* slot) { QProcess::connect(self, static_cast(&QProcess::errorOccurred), self, [=](QProcess::ProcessError error) { miqt_exec_callback(slot, 0, nullptr); }); } void QProcess_Tr2(const char* s, const char* c, char** _out, int* _out_Strlen) { QString ret = QProcess::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 QProcess_Tr3(const char* s, const char* c, int n, char** _out, int* _out_Strlen) { QString ret = QProcess::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 QProcess_TrUtf82(const char* s, const char* c, char** _out, int* _out_Strlen) { QString ret = QProcess::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 QProcess_TrUtf83(const char* s, const char* c, int n, char** _out, int* _out_Strlen) { QString ret = QProcess::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 QProcess_Start3(QProcess* self, const char* program, size_t program_Strlen, char** arguments, uint64_t* arguments_Lengths, size_t arguments_len, int mode) { QString program_QString = QString::fromUtf8(program, program_Strlen); QList arguments_QList; arguments_QList.reserve(arguments_len); for(size_t i = 0; i < arguments_len; ++i) { arguments_QList.push_back(QString::fromUtf8(arguments[i], arguments_Lengths[i])); } self->start(program_QString, arguments_QList, static_cast(mode)); } void QProcess_Start22(QProcess* self, const char* command, size_t command_Strlen, int mode) { QString command_QString = QString::fromUtf8(command, command_Strlen); self->start(command_QString, static_cast(mode)); } void QProcess_Start1(QProcess* self, int mode) { self->start(static_cast(mode)); } bool QProcess_StartDetached1(QProcess* self, long long* pid) { return self->startDetached(static_cast(pid)); } bool QProcess_Open1(QProcess* self, int mode) { return self->open(static_cast(mode)); } void QProcess_SetStandardOutputFile2(QProcess* self, const char* fileName, size_t fileName_Strlen, int mode) { QString fileName_QString = QString::fromUtf8(fileName, fileName_Strlen); self->setStandardOutputFile(fileName_QString, static_cast(mode)); } void QProcess_SetStandardErrorFile2(QProcess* self, const char* fileName, size_t fileName_Strlen, int mode) { QString fileName_QString = QString::fromUtf8(fileName, fileName_Strlen); self->setStandardErrorFile(fileName_QString, static_cast(mode)); } bool QProcess_WaitForStarted1(QProcess* self, int msecs) { return self->waitForStarted(static_cast(msecs)); } bool QProcess_WaitForReadyRead1(QProcess* self, int msecs) { return self->waitForReadyRead(static_cast(msecs)); } bool QProcess_WaitForBytesWritten1(QProcess* self, int msecs) { return self->waitForBytesWritten(static_cast(msecs)); } bool QProcess_WaitForFinished1(QProcess* self, int msecs) { return self->waitForFinished(static_cast(msecs)); } bool QProcess_StartDetached4(const char* program, size_t program_Strlen, char** arguments, uint64_t* arguments_Lengths, size_t arguments_len, const char* workingDirectory, size_t workingDirectory_Strlen, long long* pid) { QString program_QString = QString::fromUtf8(program, program_Strlen); QList arguments_QList; arguments_QList.reserve(arguments_len); for(size_t i = 0; i < arguments_len; ++i) { arguments_QList.push_back(QString::fromUtf8(arguments[i], arguments_Lengths[i])); } QString workingDirectory_QString = QString::fromUtf8(workingDirectory, workingDirectory_Strlen); return QProcess::startDetached(program_QString, arguments_QList, workingDirectory_QString, static_cast(pid)); } void QProcess_Delete(QProcess* self) { delete self; }