mirror of
https://github.com/mappu/miqt.git
synced 2024-12-23 01:18:37 +00:00
648 lines
24 KiB
C++
648 lines
24 KiB
C++
#include <QByteArray>
|
|
#include <QList>
|
|
#include <QMetaObject>
|
|
#include <QObject>
|
|
#include <QProcess>
|
|
#include <QProcessEnvironment>
|
|
#include <QString>
|
|
#include <QByteArray>
|
|
#include <cstring>
|
|
#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<const QProcessEnvironment*>(self)->operator==(*other);
|
|
}
|
|
|
|
bool QProcessEnvironment_OperatorNotEqual(QProcessEnvironment* self, QProcessEnvironment* other) {
|
|
return const_cast<const QProcessEnvironment*>(self)->operator!=(*other);
|
|
}
|
|
|
|
bool QProcessEnvironment_IsEmpty(QProcessEnvironment* self) {
|
|
return const_cast<const QProcessEnvironment*>(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<const QProcessEnvironment*>(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<const QProcessEnvironment*>(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<char*>(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<const QProcessEnvironment*>(self)->toStringList();
|
|
// Convert QStringList from C++ memory to manually-managed C memory
|
|
char** __out = static_cast<char**>(malloc(sizeof(char*) * ret.length()));
|
|
int* __out_Lengths = static_cast<int*>(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<char*>(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<const QProcessEnvironment*>(self)->keys();
|
|
// Convert QStringList from C++ memory to manually-managed C memory
|
|
char** __out = static_cast<char**>(malloc(sizeof(char*) * ret.length()));
|
|
int* __out_Lengths = static_cast<int*>(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<char*>(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<QProcessEnvironment*>(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<const QProcessEnvironment*>(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<char*>(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<const QProcess*>(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<char*>(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<char*>(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<QString> 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<const QProcess*>(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<char*>(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<const QProcess*>(self)->arguments();
|
|
// Convert QStringList from C++ memory to manually-managed C memory
|
|
char** __out = static_cast<char**>(malloc(sizeof(char*) * ret.length()));
|
|
int* __out_Lengths = static_cast<int*>(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<char*>(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<QString> 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<const QProcess*>(self)->readChannelMode();
|
|
return static_cast<uintptr_t>(ret);
|
|
}
|
|
|
|
void QProcess_SetReadChannelMode(QProcess* self, uintptr_t mode) {
|
|
self->setReadChannelMode(static_cast<QProcess::ProcessChannelMode>(mode));
|
|
}
|
|
|
|
uintptr_t QProcess_ProcessChannelMode(QProcess* self) {
|
|
QProcess::ProcessChannelMode ret = const_cast<const QProcess*>(self)->processChannelMode();
|
|
return static_cast<uintptr_t>(ret);
|
|
}
|
|
|
|
void QProcess_SetProcessChannelMode(QProcess* self, uintptr_t mode) {
|
|
self->setProcessChannelMode(static_cast<QProcess::ProcessChannelMode>(mode));
|
|
}
|
|
|
|
uintptr_t QProcess_InputChannelMode(QProcess* self) {
|
|
QProcess::InputChannelMode ret = const_cast<const QProcess*>(self)->inputChannelMode();
|
|
return static_cast<uintptr_t>(ret);
|
|
}
|
|
|
|
void QProcess_SetInputChannelMode(QProcess* self, uintptr_t mode) {
|
|
self->setInputChannelMode(static_cast<QProcess::InputChannelMode>(mode));
|
|
}
|
|
|
|
uintptr_t QProcess_ReadChannel(QProcess* self) {
|
|
QProcess::ProcessChannel ret = const_cast<const QProcess*>(self)->readChannel();
|
|
return static_cast<uintptr_t>(ret);
|
|
}
|
|
|
|
void QProcess_SetReadChannel(QProcess* self, uintptr_t channel) {
|
|
self->setReadChannel(static_cast<QProcess::ProcessChannel>(channel));
|
|
}
|
|
|
|
void QProcess_CloseReadChannel(QProcess* self, uintptr_t channel) {
|
|
self->closeReadChannel(static_cast<QProcess::ProcessChannel>(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<const QProcess*>(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<char*>(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<QString> 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<const QProcess*>(self)->environment();
|
|
// Convert QStringList from C++ memory to manually-managed C memory
|
|
char** __out = static_cast<char**>(malloc(sizeof(char*) * ret.length()));
|
|
int* __out_Lengths = static_cast<int*>(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<char*>(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<const QProcess*>(self)->processEnvironment();
|
|
// Copy-construct value returned type into heap-allocated copy
|
|
return static_cast<QProcessEnvironment*>(new QProcessEnvironment(ret));
|
|
}
|
|
|
|
uintptr_t QProcess_Error(QProcess* self) {
|
|
QProcess::ProcessError ret = const_cast<const QProcess*>(self)->error();
|
|
return static_cast<uintptr_t>(ret);
|
|
}
|
|
|
|
uintptr_t QProcess_State(QProcess* self) {
|
|
QProcess::ProcessState ret = const_cast<const QProcess*>(self)->state();
|
|
return static_cast<uintptr_t>(ret);
|
|
}
|
|
|
|
int64_t QProcess_Pid(QProcess* self) {
|
|
#ifdef Q_OS_LINUX
|
|
return const_cast<const QProcess*>(self)->pid();
|
|
#else
|
|
int64_t _ret_invalidOS;
|
|
return _ret_invalidOS;
|
|
#endif
|
|
}
|
|
|
|
long long QProcess_ProcessId(QProcess* self) {
|
|
return const_cast<const QProcess*>(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<QByteArray*>(new QByteArray(ret));
|
|
}
|
|
|
|
QByteArray* QProcess_ReadAllStandardError(QProcess* self) {
|
|
QByteArray ret = self->readAllStandardError();
|
|
// Copy-construct value returned type into heap-allocated copy
|
|
return static_cast<QByteArray*>(new QByteArray(ret));
|
|
}
|
|
|
|
int QProcess_ExitCode(QProcess* self) {
|
|
return const_cast<const QProcess*>(self)->exitCode();
|
|
}
|
|
|
|
uintptr_t QProcess_ExitStatus(QProcess* self) {
|
|
QProcess::ExitStatus ret = const_cast<const QProcess*>(self)->exitStatus();
|
|
return static_cast<uintptr_t>(ret);
|
|
}
|
|
|
|
long long QProcess_BytesAvailable(QProcess* self) {
|
|
return const_cast<const QProcess*>(self)->bytesAvailable();
|
|
}
|
|
|
|
long long QProcess_BytesToWrite(QProcess* self) {
|
|
return const_cast<const QProcess*>(self)->bytesToWrite();
|
|
}
|
|
|
|
bool QProcess_IsSequential(QProcess* self) {
|
|
return const_cast<const QProcess*>(self)->isSequential();
|
|
}
|
|
|
|
bool QProcess_CanReadLine(QProcess* self) {
|
|
return const_cast<const QProcess*>(self)->canReadLine();
|
|
}
|
|
|
|
void QProcess_Close(QProcess* self) {
|
|
self->close();
|
|
}
|
|
|
|
bool QProcess_AtEnd(QProcess* self) {
|
|
return const_cast<const QProcess*>(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<QString> 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<QString> 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<QString> 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<char**>(malloc(sizeof(char*) * ret.length()));
|
|
int* __out_Lengths = static_cast<int*>(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<char*>(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<char*>(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<int>(exitCode));
|
|
}
|
|
|
|
void QProcess_connect_Finished(QProcess* self, void* slot) {
|
|
QProcess::connect(self, static_cast<void (QProcess::*)(int)>(&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<int>(exitCode), static_cast<QProcess::ExitStatus>(exitStatus));
|
|
}
|
|
|
|
void QProcess_connect_Finished2(QProcess* self, void* slot) {
|
|
QProcess::connect(self, static_cast<void (QProcess::*)(int, QProcess::ExitStatus)>(&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<QProcess::ProcessError>(error));
|
|
}
|
|
|
|
void QProcess_connect_ErrorWithError(QProcess* self, void* slot) {
|
|
QProcess::connect(self, static_cast<void (QProcess::*)(QProcess::ProcessError)>(&QProcess::error), self, [=](QProcess::ProcessError error) {
|
|
miqt_exec_callback(slot, 0, nullptr);
|
|
});
|
|
}
|
|
|
|
void QProcess_ErrorOccurred(QProcess* self, uintptr_t error) {
|
|
self->errorOccurred(static_cast<QProcess::ProcessError>(error));
|
|
}
|
|
|
|
void QProcess_connect_ErrorOccurred(QProcess* self, void* slot) {
|
|
QProcess::connect(self, static_cast<void (QProcess::*)(QProcess::ProcessError)>(&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<char*>(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<int>(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<char*>(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<char*>(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<int>(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<char*>(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<QString> 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<QIODevice::OpenMode>(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<QIODevice::OpenMode>(mode));
|
|
}
|
|
|
|
void QProcess_Start1(QProcess* self, int mode) {
|
|
self->start(static_cast<QIODevice::OpenMode>(mode));
|
|
}
|
|
|
|
bool QProcess_StartDetached1(QProcess* self, long long* pid) {
|
|
return self->startDetached(static_cast<qint64*>(pid));
|
|
}
|
|
|
|
bool QProcess_Open1(QProcess* self, int mode) {
|
|
return self->open(static_cast<QIODevice::OpenMode>(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<QIODevice::OpenMode>(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<QIODevice::OpenMode>(mode));
|
|
}
|
|
|
|
bool QProcess_WaitForStarted1(QProcess* self, int msecs) {
|
|
return self->waitForStarted(static_cast<int>(msecs));
|
|
}
|
|
|
|
bool QProcess_WaitForReadyRead1(QProcess* self, int msecs) {
|
|
return self->waitForReadyRead(static_cast<int>(msecs));
|
|
}
|
|
|
|
bool QProcess_WaitForBytesWritten1(QProcess* self, int msecs) {
|
|
return self->waitForBytesWritten(static_cast<int>(msecs));
|
|
}
|
|
|
|
bool QProcess_WaitForFinished1(QProcess* self, int msecs) {
|
|
return self->waitForFinished(static_cast<int>(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<QString> 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<qint64*>(pid));
|
|
}
|
|
|
|
void QProcess_Delete(QProcess* self) {
|
|
delete self;
|
|
}
|
|
|