#include #include #include #include #include #include "qversionnumber.h" #include "gen_qversionnumber.h" extern "C" { extern void miqt_exec_callback(void* cb, int argc, void* argv); } QVersionNumber* QVersionNumber_new() { return new QVersionNumber(); } QVersionNumber* QVersionNumber_new2(int* seg, size_t seg_len) { QVector seg_QList; seg_QList.reserve(seg_len); for(size_t i = 0; i < seg_len; ++i) { seg_QList.push_back(seg[i]); } return new QVersionNumber(seg_QList); } QVersionNumber* QVersionNumber_new3(int maj) { return new QVersionNumber(static_cast(maj)); } QVersionNumber* QVersionNumber_new4(int maj, int min) { return new QVersionNumber(static_cast(maj), static_cast(min)); } QVersionNumber* QVersionNumber_new5(int maj, int min, int mic) { return new QVersionNumber(static_cast(maj), static_cast(min), static_cast(mic)); } bool QVersionNumber_IsNull(QVersionNumber* self) { return const_cast(self)->isNull(); } bool QVersionNumber_IsNormalized(QVersionNumber* self) { return const_cast(self)->isNormalized(); } int QVersionNumber_MajorVersion(QVersionNumber* self) { return const_cast(self)->majorVersion(); } int QVersionNumber_MinorVersion(QVersionNumber* self) { return const_cast(self)->minorVersion(); } int QVersionNumber_MicroVersion(QVersionNumber* self) { return const_cast(self)->microVersion(); } QVersionNumber* QVersionNumber_Normalized(QVersionNumber* self) { QVersionNumber ret = const_cast(self)->normalized(); // Copy-construct value returned type into heap-allocated copy return static_cast(new QVersionNumber(ret)); } void QVersionNumber_Segments(QVersionNumber* self, int** _out, size_t* _out_len) { QVector ret = const_cast(self)->segments(); // Convert QList<> from C++ memory to manually-managed C memory int* __out = static_cast(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(); } int QVersionNumber_SegmentAt(QVersionNumber* self, int index) { return const_cast(self)->segmentAt(static_cast(index)); } int QVersionNumber_SegmentCount(QVersionNumber* self) { return const_cast(self)->segmentCount(); } bool QVersionNumber_IsPrefixOf(QVersionNumber* self, QVersionNumber* other) { return const_cast(self)->isPrefixOf(*other); } int QVersionNumber_Compare(QVersionNumber* v1, QVersionNumber* v2) { return QVersionNumber::compare(*v1, *v2); } QVersionNumber* QVersionNumber_CommonPrefix(QVersionNumber* v1, QVersionNumber* v2) { QVersionNumber ret = QVersionNumber::commonPrefix(*v1, *v2); // Copy-construct value returned type into heap-allocated copy return static_cast(new QVersionNumber(ret)); } void QVersionNumber_ToString(QVersionNumber* self, char** _out, int* _out_Strlen) { QString ret = const_cast(self)->toString(); // 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(); } QVersionNumber* QVersionNumber_FromString(const char* stringVal, size_t stringVal_Strlen) { QString stringVal_QString = QString::fromUtf8(stringVal, stringVal_Strlen); QVersionNumber ret = QVersionNumber::fromString(stringVal_QString); // Copy-construct value returned type into heap-allocated copy return static_cast(new QVersionNumber(ret)); } QVersionNumber* QVersionNumber_FromString22(const char* stringVal, size_t stringVal_Strlen, int* suffixIndex) { QString stringVal_QString = QString::fromUtf8(stringVal, stringVal_Strlen); QVersionNumber ret = QVersionNumber::fromString(stringVal_QString, static_cast(suffixIndex)); // Copy-construct value returned type into heap-allocated copy return static_cast(new QVersionNumber(ret)); } void QVersionNumber_Delete(QVersionNumber* self) { delete self; }