miqt/qt/gen_qtextcodec.cpp

257 lines
9.2 KiB
C++
Raw Normal View History

#include <QByteArray>
#include <QChar>
#include <QList>
#include <QString>
2024-08-29 07:01:51 +00:00
#include <QByteArray>
#include <cstring>
#include <QTextCodec>
2024-08-29 07:01:51 +00:00
#define WORKAROUND_INNER_CLASS_DEFINITION_QTextCodec__ConverterState
#include <QTextDecoder>
#include <QTextEncoder>
2024-08-29 07:01:51 +00:00
#include "qtextcodec.h"
2024-08-29 07:01:51 +00:00
#include "gen_qtextcodec.h"
extern "C" {
extern void miqt_exec_callback(void* cb, int argc, void* argv);
}
QTextCodec* QTextCodec_CodecForName(QByteArray* name) {
return QTextCodec::codecForName(*name);
}
2024-08-29 07:01:51 +00:00
QTextCodec* QTextCodec_CodecForNameWithName(const char* name) {
return QTextCodec::codecForName(name);
}
QTextCodec* QTextCodec_CodecForMib(int mib) {
return QTextCodec::codecForMib(static_cast<int>(mib));
}
void QTextCodec_AvailableCodecs(QByteArray*** _out, size_t* _out_len) {
QList<QByteArray> ret = QTextCodec::availableCodecs();
// Convert QList<> from C++ memory to manually-managed C memory of copy-constructed pointers
QByteArray** __out = static_cast<QByteArray**>(malloc(sizeof(QByteArray**) * ret.length()));
for (size_t i = 0, e = ret.length(); i < e; ++i) {
__out[i] = new QByteArray(ret[i]);
}
*_out = __out;
*_out_len = ret.length();
}
void QTextCodec_AvailableMibs(int** _out, size_t* _out_len) {
QList<int> ret = QTextCodec::availableMibs();
// Convert QList<> from C++ memory to manually-managed C memory
int* __out = static_cast<int*>(malloc(sizeof(int) * ret.length()));
for (size_t i = 0, e = ret.length(); i < e; ++i) {
__out[i] = ret[i];
}
*_out = __out;
*_out_len = ret.length();
}
QTextCodec* QTextCodec_CodecForLocale() {
return QTextCodec::codecForLocale();
}
void QTextCodec_SetCodecForLocale(QTextCodec* c) {
QTextCodec::setCodecForLocale(c);
}
QTextCodec* QTextCodec_CodecForHtml(QByteArray* ba) {
return QTextCodec::codecForHtml(*ba);
}
QTextCodec* QTextCodec_CodecForHtml2(QByteArray* ba, QTextCodec* defaultCodec) {
return QTextCodec::codecForHtml(*ba, defaultCodec);
}
QTextCodec* QTextCodec_CodecForUtfText(QByteArray* ba) {
return QTextCodec::codecForUtfText(*ba);
}
QTextCodec* QTextCodec_CodecForUtfText2(QByteArray* ba, QTextCodec* defaultCodec) {
return QTextCodec::codecForUtfText(*ba, defaultCodec);
}
bool QTextCodec_CanEncode(QTextCodec* self, QChar* param1) {
2024-08-29 07:01:51 +00:00
return const_cast<const QTextCodec*>(self)->canEncode(*param1);
}
bool QTextCodec_CanEncodeWithQString(QTextCodec* self, const char* param1, size_t param1_Strlen) {
QString param1_QString = QString::fromUtf8(param1, param1_Strlen);
2024-08-29 07:01:51 +00:00
return const_cast<const QTextCodec*>(self)->canEncode(param1_QString);
}
void QTextCodec_ToUnicode(QTextCodec* self, QByteArray* param1, char** _out, int* _out_Strlen) {
2024-08-29 07:01:51 +00:00
QString ret = const_cast<const QTextCodec*>(self)->toUnicode(*param1);
// 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();
}
2024-08-29 07:01:51 +00:00
void QTextCodec_ToUnicodeWithChars(QTextCodec* self, const char* chars, char** _out, int* _out_Strlen) {
QString ret = const_cast<const QTextCodec*>(self)->toUnicode(chars);
// 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();
}
QByteArray* QTextCodec_FromUnicode(QTextCodec* self, const char* uc, size_t uc_Strlen) {
QString uc_QString = QString::fromUtf8(uc, uc_Strlen);
2024-08-29 07:01:51 +00:00
QByteArray ret = const_cast<const QTextCodec*>(self)->fromUnicode(uc_QString);
// Copy-construct value returned type into heap-allocated copy
return static_cast<QByteArray*>(new QByteArray(ret));
}
void QTextCodec_ToUnicode2(QTextCodec* self, const char* in, int length, char** _out, int* _out_Strlen) {
QString ret = const_cast<const QTextCodec*>(self)->toUnicode(in, static_cast<int>(length));
// 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();
}
QByteArray* QTextCodec_FromUnicode2(QTextCodec* self, QChar* in, int length) {
QByteArray ret = const_cast<const QTextCodec*>(self)->fromUnicode(in, static_cast<int>(length));
// Copy-construct value returned type into heap-allocated copy
return static_cast<QByteArray*>(new QByteArray(ret));
}
2024-08-29 07:01:51 +00:00
QTextDecoder* QTextCodec_MakeDecoder(QTextCodec* self) {
return const_cast<const QTextCodec*>(self)->makeDecoder();
}
QTextEncoder* QTextCodec_MakeEncoder(QTextCodec* self) {
return const_cast<const QTextCodec*>(self)->makeEncoder();
}
QByteArray* QTextCodec_Name(QTextCodec* self) {
2024-08-29 07:01:51 +00:00
QByteArray ret = const_cast<const QTextCodec*>(self)->name();
// Copy-construct value returned type into heap-allocated copy
return static_cast<QByteArray*>(new QByteArray(ret));
}
void QTextCodec_Aliases(QTextCodec* self, QByteArray*** _out, size_t* _out_len) {
2024-08-29 07:01:51 +00:00
QList<QByteArray> ret = const_cast<const QTextCodec*>(self)->aliases();
// Convert QList<> from C++ memory to manually-managed C memory of copy-constructed pointers
QByteArray** __out = static_cast<QByteArray**>(malloc(sizeof(QByteArray**) * ret.length()));
for (size_t i = 0, e = ret.length(); i < e; ++i) {
__out[i] = new QByteArray(ret[i]);
}
*_out = __out;
*_out_len = ret.length();
}
int QTextCodec_MibEnum(QTextCodec* self) {
2024-08-29 07:01:51 +00:00
return const_cast<const QTextCodec*>(self)->mibEnum();
}
void QTextCodec_ToUnicode3(QTextCodec* self, const char* in, int length, QTextCodec__ConverterState* state, char** _out, int* _out_Strlen) {
QString ret = const_cast<const QTextCodec*>(self)->toUnicode(in, static_cast<int>(length), state);
2024-08-29 07:01:51 +00:00
// 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();
}
QByteArray* QTextCodec_FromUnicode3(QTextCodec* self, QChar* in, int length, QTextCodec__ConverterState* state) {
QByteArray ret = const_cast<const QTextCodec*>(self)->fromUnicode(in, static_cast<int>(length), state);
2024-08-29 07:01:51 +00:00
// Copy-construct value returned type into heap-allocated copy
return static_cast<QByteArray*>(new QByteArray(ret));
}
QTextDecoder* QTextCodec_MakeDecoder1(QTextCodec* self, int flags) {
return const_cast<const QTextCodec*>(self)->makeDecoder(static_cast<QTextCodec::ConversionFlags>(flags));
2024-08-29 07:01:51 +00:00
}
QTextEncoder* QTextCodec_MakeEncoder1(QTextCodec* self, int flags) {
return const_cast<const QTextCodec*>(self)->makeEncoder(static_cast<QTextCodec::ConversionFlags>(flags));
}
QTextEncoder* QTextEncoder_new(QTextCodec* codec) {
return new QTextEncoder(codec);
}
2024-08-29 07:01:51 +00:00
QTextEncoder* QTextEncoder_new2(QTextCodec* codec, int flags) {
return new QTextEncoder(codec, static_cast<QTextCodec::ConversionFlags>(flags));
}
QByteArray* QTextEncoder_FromUnicode(QTextEncoder* self, const char* str, size_t str_Strlen) {
QString str_QString = QString::fromUtf8(str, str_Strlen);
QByteArray ret = self->fromUnicode(str_QString);
// Copy-construct value returned type into heap-allocated copy
return static_cast<QByteArray*>(new QByteArray(ret));
}
QByteArray* QTextEncoder_FromUnicode2(QTextEncoder* self, QChar* uc, int lenVal) {
QByteArray ret = self->fromUnicode(uc, static_cast<int>(lenVal));
// Copy-construct value returned type into heap-allocated copy
return static_cast<QByteArray*>(new QByteArray(ret));
}
bool QTextEncoder_HasFailure(QTextEncoder* self) {
2024-08-29 07:01:51 +00:00
return const_cast<const QTextEncoder*>(self)->hasFailure();
}
void QTextEncoder_Delete(QTextEncoder* self) {
delete self;
}
QTextDecoder* QTextDecoder_new(QTextCodec* codec) {
return new QTextDecoder(codec);
}
2024-08-29 07:01:51 +00:00
QTextDecoder* QTextDecoder_new2(QTextCodec* codec, int flags) {
return new QTextDecoder(codec, static_cast<QTextCodec::ConversionFlags>(flags));
}
void QTextDecoder_ToUnicode(QTextDecoder* self, const char* chars, int lenVal, char** _out, int* _out_Strlen) {
QString ret = self->toUnicode(chars, static_cast<int>(lenVal));
// 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 QTextDecoder_ToUnicodeWithBa(QTextDecoder* self, QByteArray* ba, char** _out, int* _out_Strlen) {
QString ret = self->toUnicode(*ba);
// 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();
}
bool QTextDecoder_HasFailure(QTextDecoder* self) {
2024-08-29 07:01:51 +00:00
return const_cast<const QTextDecoder*>(self)->hasFailure();
}
bool QTextDecoder_NeedsMoreData(QTextDecoder* self) {
2024-08-29 07:01:51 +00:00
return const_cast<const QTextDecoder*>(self)->needsMoreData();
}
void QTextDecoder_Delete(QTextDecoder* self) {
delete self;
}
2024-08-29 07:01:51 +00:00
QTextCodec__ConverterState* QTextCodec__ConverterState_new() {
return new QTextCodec::ConverterState();
}
QTextCodec__ConverterState* QTextCodec__ConverterState_new2(int f) {
return new QTextCodec::ConverterState(static_cast<QTextCodec::ConversionFlags>(f));
}
void QTextCodec__ConverterState_Delete(QTextCodec__ConverterState* self) {
delete self;
}