//Auto-generated by /usr/bin/smokegen. DO NOT EDIT.
#include <qtcore_includes.h>
#include <typeinfo>

#include <smoke.h>
#include <qtcore_smoke.h>

class __internal_SmokeClass {};

namespace __smokeqtcore {

class x_QChildEvent : public QChildEvent, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QChildEvent* QChildEvent(QEvent::Type, QObject*)
        x_QChildEvent* xret = new x_QChildEvent((QEvent::Type)x[1].s_enum,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QChildEvent(QEvent::Type x1, QObject* x2) : QChildEvent(x1, x2) {}
    void x_2(Smoke::Stack x) {
        // QObject* child() const
        QObject* xret = ((const x_QChildEvent*)this)->QChildEvent::child();
        x[0].s_class = (void*)xret;
    }
    void x_3(Smoke::Stack x) {
        // bool added() const
        bool xret = ((const x_QChildEvent*)this)->QChildEvent::added();
        x[0].s_bool = xret;
    }
    void x_4(Smoke::Stack x) {
        // bool polished() const
        bool xret = ((const x_QChildEvent*)this)->QChildEvent::polished();
        x[0].s_bool = xret;
    }
    void x_5(Smoke::Stack x) {
        // bool removed() const
        bool xret = ((const x_QChildEvent*)this)->QChildEvent::removed();
        x[0].s_bool = xret;
    }
    static void x_6(Smoke::Stack x) {
        // QChildEvent* QChildEvent(const QChildEvent&)
        x_QChildEvent* xret = new x_QChildEvent(*(const QChildEvent*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QChildEvent(const QChildEvent& x1) : QChildEvent(x1) {}
    void x_7(Smoke::Stack x) {
        // QObject* c
        x[0].s_class = (void*)this->QChildEvent::c;
    }
    void x_8(Smoke::Stack x) {
        // QObject* c=
        this->QChildEvent::c = (QObject*)x[1].s_class;
    }
    ~x_QChildEvent() { this->_binding->deleted(29, (void*)this); }
};
void xcall_QChildEvent(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QChildEvent *xself = (x_QChildEvent*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QChildEvent::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: x_QChildEvent::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: delete (QChildEvent*)xself;	break;
    }
}
class x_QCoreApplication : public QCoreApplication, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QCoreApplication*>(this))) {
            const QMetaObject* xret = ((const x_QCoreApplication*)this)->QCoreApplication::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QCoreApplication*)this)->metaObject();
            x[0].s_class = (void*)xret;
        }
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QCoreApplication*>(this))) {
            void* xret = this->QCoreApplication::qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            void* xret = this->qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    static void x_3(Smoke::Stack x) {
        // static QString tr(const char*, const char*)
        QString xret = QCoreApplication::tr((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_4(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*)
        QString xret = QCoreApplication::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QString tr(const char*, const char*, int)
        QString xret = QCoreApplication::tr((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*, int)
        QString xret = QCoreApplication::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // virtual int qt_metacall(QMetaObject::Call, int, void**)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QCoreApplication*>(this))) {
            int xret = this->QCoreApplication::qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = this->qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        }
    }
    static void x_8(Smoke::Stack x) {
        // QCoreApplication* QCoreApplication(int&, char**, int)
        x_QCoreApplication* xret = new x_QCoreApplication(*(int*)x[1].s_class,(char**)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)xret;
    }
    explicit x_QCoreApplication(int& x1, char** x2, int x3) : QCoreApplication(x1, x2, x3) {}
    static void x_9(Smoke::Stack x) {
        // static int argc()
        int xret = QCoreApplication::argc();
        x[0].s_int = xret;
    }
    static void x_10(Smoke::Stack x) {
        // static char** argv()
        char** xret = QCoreApplication::argv();
        x[0].s_class = (void*)xret;
    }
    static void x_11(Smoke::Stack x) {
        // static QStringList arguments()
        QStringList xret = QCoreApplication::arguments();
        x[0].s_class = (void*)new QStringList(xret);
    }
    static void x_12(Smoke::Stack x) {
        // static void setAttribute(Qt::ApplicationAttribute, bool)
        QCoreApplication::setAttribute((Qt::ApplicationAttribute)x[1].s_enum,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    static void x_13(Smoke::Stack x) {
        // static bool testAttribute(Qt::ApplicationAttribute)
        bool xret = QCoreApplication::testAttribute((Qt::ApplicationAttribute)x[1].s_enum);
        x[0].s_bool = xret;
    }
    static void x_14(Smoke::Stack x) {
        // static void setOrganizationDomain(const QString&)
        QCoreApplication::setOrganizationDomain(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_15(Smoke::Stack x) {
        // static QString organizationDomain()
        QString xret = QCoreApplication::organizationDomain();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_16(Smoke::Stack x) {
        // static void setOrganizationName(const QString&)
        QCoreApplication::setOrganizationName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_17(Smoke::Stack x) {
        // static QString organizationName()
        QString xret = QCoreApplication::organizationName();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_18(Smoke::Stack x) {
        // static void setApplicationName(const QString&)
        QCoreApplication::setApplicationName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_19(Smoke::Stack x) {
        // static QString applicationName()
        QString xret = QCoreApplication::applicationName();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_20(Smoke::Stack x) {
        // static void setApplicationVersion(const QString&)
        QCoreApplication::setApplicationVersion(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_21(Smoke::Stack x) {
        // static QString applicationVersion()
        QString xret = QCoreApplication::applicationVersion();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_22(Smoke::Stack x) {
        // static QCoreApplication* instance()
        QCoreApplication* xret = QCoreApplication::instance();
        x[0].s_class = (void*)xret;
    }
    static void x_23(Smoke::Stack x) {
        // static int exec()
        int xret = QCoreApplication::exec();
        x[0].s_int = xret;
    }
    static void x_24(Smoke::Stack x) {
        // static void processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
        QCoreApplication::processEvents((QFlags<QEventLoop::ProcessEventsFlag>)x[1].s_uint);
        (void)x; // noop (for compiler warning)
    }
    static void x_25(Smoke::Stack x) {
        // static void processEvents(QFlags<QEventLoop::ProcessEventsFlag>, int)
        QCoreApplication::processEvents((QFlags<QEventLoop::ProcessEventsFlag>)x[1].s_uint,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    static void x_26(Smoke::Stack x) {
        // static void exit(int)
        QCoreApplication::exit((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    static void x_27(Smoke::Stack x) {
        // static bool sendEvent(QObject*, QEvent*)
        bool xret = QCoreApplication::sendEvent((QObject*)x[1].s_class,(QEvent*)x[2].s_class);
        x[0].s_bool = xret;
    }
    static void x_28(Smoke::Stack x) {
        // static void postEvent(QObject*, QEvent*)
        QCoreApplication::postEvent((QObject*)x[1].s_class,(QEvent*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_29(Smoke::Stack x) {
        // static void postEvent(QObject*, QEvent*, int)
        QCoreApplication::postEvent((QObject*)x[1].s_class,(QEvent*)x[2].s_class,(int)x[3].s_int);
        (void)x; // noop (for compiler warning)
    }
    static void x_30(Smoke::Stack x) {
        // static void sendPostedEvents(QObject*, int)
        QCoreApplication::sendPostedEvents((QObject*)x[1].s_class,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    static void x_31(Smoke::Stack x) {
        // static void sendPostedEvents()
        QCoreApplication::sendPostedEvents();
        (void)x; // noop (for compiler warning)
    }
    static void x_32(Smoke::Stack x) {
        // static void removePostedEvents(QObject*)
        QCoreApplication::removePostedEvents((QObject*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_33(Smoke::Stack x) {
        // static void removePostedEvents(QObject*, int)
        QCoreApplication::removePostedEvents((QObject*)x[1].s_class,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    static void x_34(Smoke::Stack x) {
        // static bool hasPendingEvents()
        bool xret = QCoreApplication::hasPendingEvents();
        x[0].s_bool = xret;
    }
    void x_35(Smoke::Stack x) {
        // virtual bool notify(QObject*, QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QCoreApplication*>(this))) {
            bool xret = this->QCoreApplication::notify((QObject*)x[1].s_class,(QEvent*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->notify((QObject*)x[1].s_class,(QEvent*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_36(Smoke::Stack x) {
        // static bool startingUp()
        bool xret = QCoreApplication::startingUp();
        x[0].s_bool = xret;
    }
    static void x_37(Smoke::Stack x) {
        // static bool closingDown()
        bool xret = QCoreApplication::closingDown();
        x[0].s_bool = xret;
    }
    static void x_38(Smoke::Stack x) {
        // static QString applicationDirPath()
        QString xret = QCoreApplication::applicationDirPath();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_39(Smoke::Stack x) {
        // static QString applicationFilePath()
        QString xret = QCoreApplication::applicationFilePath();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_40(Smoke::Stack x) {
        // static long long applicationPid()
        long long xret = QCoreApplication::applicationPid();
        x[0].s_class = (void*)new long long(xret);
    }
    static void x_41(Smoke::Stack x) {
        // static void setLibraryPaths(const QStringList&)
        QCoreApplication::setLibraryPaths(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_42(Smoke::Stack x) {
        // static QStringList libraryPaths()
        QStringList xret = QCoreApplication::libraryPaths();
        x[0].s_class = (void*)new QStringList(xret);
    }
    static void x_43(Smoke::Stack x) {
        // static void addLibraryPath(const QString&)
        QCoreApplication::addLibraryPath(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_44(Smoke::Stack x) {
        // static void removeLibraryPath(const QString&)
        QCoreApplication::removeLibraryPath(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_45(Smoke::Stack x) {
        // static void installTranslator(QTranslator*)
        QCoreApplication::installTranslator((QTranslator*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_46(Smoke::Stack x) {
        // static void removeTranslator(QTranslator*)
        QCoreApplication::removeTranslator((QTranslator*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_47(Smoke::Stack x) {
        // static QString translate(const char*, const char*, const char*, QCoreApplication::Encoding)
        QString xret = QCoreApplication::translate((const char*)x[1].s_class,(const char*)x[2].s_class,(const char*)x[3].s_class,(QCoreApplication::Encoding)x[4].s_enum);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_48(Smoke::Stack x) {
        // static QString translate(const char*, const char*, const char*, QCoreApplication::Encoding, int)
        QString xret = QCoreApplication::translate((const char*)x[1].s_class,(const char*)x[2].s_class,(const char*)x[3].s_class,(QCoreApplication::Encoding)x[4].s_enum,(int)x[5].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_49(Smoke::Stack x) {
        // static void flush()
        QCoreApplication::flush();
        (void)x; // noop (for compiler warning)
    }
    static void x_50(Smoke::Stack x) {
        // static void watchUnixSignal(int, bool)
        QCoreApplication::watchUnixSignal((int)x[1].s_int,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_51(Smoke::Stack x) {
        // bool(*)(void*,long*) setEventFilter(bool(*)(void*,long*))
        bool(*xret)(void*,long*) = this->QCoreApplication::setEventFilter((bool(*)(void*,long*))x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_52(Smoke::Stack x) {
        // bool filterEvent(void*, long*)
        bool xret = this->QCoreApplication::filterEvent((void*)x[1].s_class,(long*)x[2].s_class);
        x[0].s_bool = xret;
    }
    static void x_53(Smoke::Stack x) {
        // static void quit()
        QCoreApplication::quit();
        (void)x; // noop (for compiler warning)
    }
    void x_54(Smoke::Stack x) {
        // void aboutToQuit()
        this->QCoreApplication::aboutToQuit();
        (void)x; // noop (for compiler warning)
    }
    void x_55(Smoke::Stack x) {
        // void unixSignal(int)
        this->QCoreApplication::unixSignal((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_56(Smoke::Stack x) {
        // bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QCoreApplication*>(this))) {
            bool xret = this->QCoreApplication::event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_57(Smoke::Stack x) {
        // virtual bool compressEvent(QEvent*, QObject*, QPostEventList*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QCoreApplication*>(this))) {
            bool xret = this->QCoreApplication::compressEvent((QEvent*)x[1].s_class,(QObject*)x[2].s_class,(QPostEventList*)x[3].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->compressEvent((QEvent*)x[1].s_class,(QObject*)x[2].s_class,(QPostEventList*)x[3].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_58(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QCoreApplication::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_59(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QCoreApplication::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_60(Smoke::Stack x) {
        // QCoreApplication* QCoreApplication(int&, char**)
        x_QCoreApplication* xret = new x_QCoreApplication(*(int*)x[1].s_class,(char**)x[2].s_class,(int)QCoreApplication::ApplicationFlags);
        x[0].s_class = (void*)xret;
    }
    static void x_61(Smoke::Stack x) {
        // static void setAttribute(Qt::ApplicationAttribute)
        QCoreApplication::setAttribute((Qt::ApplicationAttribute)x[1].s_enum,(bool)true);
        (void)x; // noop (for compiler warning)
    }
    static void x_62(Smoke::Stack x) {
        // static void processEvents()
        QCoreApplication::processEvents((QFlags<QEventLoop::ProcessEventsFlag>)QEventLoop::AllEvents);
        (void)x; // noop (for compiler warning)
    }
    static void x_63(Smoke::Stack x) {
        // static void exit()
        QCoreApplication::exit((int)0);
        (void)x; // noop (for compiler warning)
    }
    static void x_64(Smoke::Stack x) {
        // static QString translate(const char*, const char*)
        QString xret = QCoreApplication::translate((const char*)x[1].s_class,(const char*)x[2].s_class,(const char*)0,(QCoreApplication::Encoding)QCoreApplication::CodecForTr);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_65(Smoke::Stack x) {
        // static QString translate(const char*, const char*, const char*)
        QString xret = QCoreApplication::translate((const char*)x[1].s_class,(const char*)x[2].s_class,(const char*)x[3].s_class,(QCoreApplication::Encoding)QCoreApplication::CodecForTr);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_66(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QCoreApplication::staticMetaObject;
    }
    static void x_67(Smoke::Stack x) {
        x[0].s_enum = (long)QCoreApplication::ApplicationFlags;
    }
    static void x_68(Smoke::Stack x) {
        x[0].s_enum = (long)QCoreApplication::CodecForTr;
    }
    static void x_69(Smoke::Stack x) {
        x[0].s_enum = (long)QCoreApplication::UnicodeUTF8;
    }
    static void x_70(Smoke::Stack x) {
        x[0].s_enum = (long)QCoreApplication::DefaultCodec;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(981, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QCoreApplication::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(982, (void*)this, x)) return (void*)x[0].s_class;
        return this->QCoreApplication::qt_metacast(x1);
    }
    virtual int qt_metacall(QMetaObject::Call x1, int x2, void** x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(987, (void*)this, x)) return (int)x[0].s_int;
        return this->QCoreApplication::qt_metacall(x1, x2, x3);
    }
    virtual bool notify(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(1015, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QCoreApplication::notify(x1, x2);
    }
    virtual bool compressEvent(QEvent* x1, QObject* x2, QPostEventList* x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(1037, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QCoreApplication::compressEvent(x1, x2, x3);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1036, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QCoreApplication::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(3805, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3841, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3842, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3843, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3844, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3845, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 64: //QCoreApplication::Encoding
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QCoreApplication::Encoding;
                    break;
                case Smoke::EnumDelete:
                    delete (QCoreApplication::Encoding*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QCoreApplication::Encoding*)xdata = (QCoreApplication::Encoding)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QCoreApplication::Encoding*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QCoreApplication() { this->_binding->deleted(30, (void*)this); }
};
void xenum_QCoreApplication(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QCoreApplication::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QCoreApplication(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QCoreApplication *xself = (x_QCoreApplication*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_QCoreApplication::x_3(args);	break;
        case 4: x_QCoreApplication::x_4(args);	break;
        case 5: x_QCoreApplication::x_5(args);	break;
        case 6: x_QCoreApplication::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QCoreApplication::x_8(args);	break;
        case 9: x_QCoreApplication::x_9(args);	break;
        case 10: x_QCoreApplication::x_10(args);	break;
        case 11: x_QCoreApplication::x_11(args);	break;
        case 12: x_QCoreApplication::x_12(args);	break;
        case 13: x_QCoreApplication::x_13(args);	break;
        case 14: x_QCoreApplication::x_14(args);	break;
        case 15: x_QCoreApplication::x_15(args);	break;
        case 16: x_QCoreApplication::x_16(args);	break;
        case 17: x_QCoreApplication::x_17(args);	break;
        case 18: x_QCoreApplication::x_18(args);	break;
        case 19: x_QCoreApplication::x_19(args);	break;
        case 20: x_QCoreApplication::x_20(args);	break;
        case 21: x_QCoreApplication::x_21(args);	break;
        case 22: x_QCoreApplication::x_22(args);	break;
        case 23: x_QCoreApplication::x_23(args);	break;
        case 24: x_QCoreApplication::x_24(args);	break;
        case 25: x_QCoreApplication::x_25(args);	break;
        case 26: x_QCoreApplication::x_26(args);	break;
        case 27: x_QCoreApplication::x_27(args);	break;
        case 28: x_QCoreApplication::x_28(args);	break;
        case 29: x_QCoreApplication::x_29(args);	break;
        case 30: x_QCoreApplication::x_30(args);	break;
        case 31: x_QCoreApplication::x_31(args);	break;
        case 32: x_QCoreApplication::x_32(args);	break;
        case 33: x_QCoreApplication::x_33(args);	break;
        case 34: x_QCoreApplication::x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: x_QCoreApplication::x_36(args);	break;
        case 37: x_QCoreApplication::x_37(args);	break;
        case 38: x_QCoreApplication::x_38(args);	break;
        case 39: x_QCoreApplication::x_39(args);	break;
        case 40: x_QCoreApplication::x_40(args);	break;
        case 41: x_QCoreApplication::x_41(args);	break;
        case 42: x_QCoreApplication::x_42(args);	break;
        case 43: x_QCoreApplication::x_43(args);	break;
        case 44: x_QCoreApplication::x_44(args);	break;
        case 45: x_QCoreApplication::x_45(args);	break;
        case 46: x_QCoreApplication::x_46(args);	break;
        case 47: x_QCoreApplication::x_47(args);	break;
        case 48: x_QCoreApplication::x_48(args);	break;
        case 49: x_QCoreApplication::x_49(args);	break;
        case 50: x_QCoreApplication::x_50(args);	break;
        case 51: xself->x_51(args);	break;
        case 52: xself->x_52(args);	break;
        case 53: x_QCoreApplication::x_53(args);	break;
        case 54: xself->x_54(args);	break;
        case 55: xself->x_55(args);	break;
        case 56: xself->x_56(args);	break;
        case 57: xself->x_57(args);	break;
        case 58: x_QCoreApplication::x_58(args);	break;
        case 59: x_QCoreApplication::x_59(args);	break;
        case 60: x_QCoreApplication::x_60(args);	break;
        case 61: x_QCoreApplication::x_61(args);	break;
        case 62: x_QCoreApplication::x_62(args);	break;
        case 63: x_QCoreApplication::x_63(args);	break;
        case 64: x_QCoreApplication::x_64(args);	break;
        case 65: x_QCoreApplication::x_65(args);	break;
        case 66: x_QCoreApplication::x_66(args);	break;
        case 67: x_QCoreApplication::x_67(args);	break;
        case 68: x_QCoreApplication::x_68(args);	break;
        case 69: x_QCoreApplication::x_69(args);	break;
        case 70: x_QCoreApplication::x_70(args);	break;
        case 71: delete (QCoreApplication*)xself;	break;
    }
}
class x_QCryptographicHash : public QCryptographicHash {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QCryptographicHash* QCryptographicHash(QCryptographicHash::Algorithm)
        x_QCryptographicHash* xret = new x_QCryptographicHash((QCryptographicHash::Algorithm)x[1].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_QCryptographicHash(QCryptographicHash::Algorithm x1) : QCryptographicHash(x1) {}
    void x_2(Smoke::Stack x) {
        // void reset()
        this->QCryptographicHash::reset();
        (void)x; // noop (for compiler warning)
    }
    void x_3(Smoke::Stack x) {
        // void addData(const char*, int)
        this->QCryptographicHash::addData((const char*)x[1].s_class,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // void addData(const QByteArray&)
        this->QCryptographicHash::addData(*(const QByteArray*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) {
        // QByteArray result() const
        QByteArray xret = ((const x_QCryptographicHash*)this)->QCryptographicHash::result();
        x[0].s_class = (void*)new QByteArray(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static QByteArray hash(const QByteArray&, QCryptographicHash::Algorithm)
        QByteArray xret = QCryptographicHash::hash(*(const QByteArray*)x[1].s_class,(QCryptographicHash::Algorithm)x[2].s_enum);
        x[0].s_class = (void*)new QByteArray(xret);
    }
    static void x_7(Smoke::Stack x) {
        x[0].s_enum = (long)QCryptographicHash::Md4;
    }
    static void x_8(Smoke::Stack x) {
        x[0].s_enum = (long)QCryptographicHash::Md5;
    }
    static void x_9(Smoke::Stack x) {
        x[0].s_enum = (long)QCryptographicHash::Sha1;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 66: //QCryptographicHash::Algorithm
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QCryptographicHash::Algorithm;
                    break;
                case Smoke::EnumDelete:
                    delete (QCryptographicHash::Algorithm*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QCryptographicHash::Algorithm*)xdata = (QCryptographicHash::Algorithm)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QCryptographicHash::Algorithm*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QCryptographicHash() { this->_binding->deleted(31, (void*)this); }
};
void xenum_QCryptographicHash(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QCryptographicHash::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QCryptographicHash(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QCryptographicHash *xself = (x_QCryptographicHash*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QCryptographicHash::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: x_QCryptographicHash::x_6(args);	break;
        case 7: x_QCryptographicHash::x_7(args);	break;
        case 8: x_QCryptographicHash::x_8(args);	break;
        case 9: x_QCryptographicHash::x_9(args);	break;
        case 10: delete (QCryptographicHash*)xself;	break;
    }
}
class x_QDataStream : public QDataStream, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QDataStream* QDataStream()
        x_QDataStream* xret = new x_QDataStream();
        x[0].s_class = (void*)xret;
    }
    explicit x_QDataStream() : QDataStream() {}
    static void x_2(Smoke::Stack x) {
        // QDataStream* QDataStream(QIODevice*)
        x_QDataStream* xret = new x_QDataStream((QIODevice*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QDataStream(QIODevice* x1) : QDataStream(x1) {}
    static void x_3(Smoke::Stack x) {
        // QDataStream* QDataStream(QByteArray*, QFlags<QIODevice::OpenModeFlag>)
        x_QDataStream* xret = new x_QDataStream((QByteArray*)x[1].s_class,(QFlags<QIODevice::OpenModeFlag>)x[2].s_uint);
        x[0].s_class = (void*)xret;
    }
    explicit x_QDataStream(QByteArray* x1, QFlags<QIODevice::OpenModeFlag> x2) : QDataStream(x1, x2) {}
    static void x_4(Smoke::Stack x) {
        // QDataStream* QDataStream(const QByteArray&)
        x_QDataStream* xret = new x_QDataStream(*(const QByteArray*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QDataStream(const QByteArray& x1) : QDataStream(x1) {}
    void x_5(Smoke::Stack x) {
        // QIODevice* device() const
        QIODevice* xret = ((const x_QDataStream*)this)->QDataStream::device();
        x[0].s_class = (void*)xret;
    }
    void x_6(Smoke::Stack x) {
        // void setDevice(QIODevice*)
        this->QDataStream::setDevice((QIODevice*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_7(Smoke::Stack x) {
        // void unsetDevice()
        this->QDataStream::unsetDevice();
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // bool atEnd() const
        bool xret = ((const x_QDataStream*)this)->QDataStream::atEnd();
        x[0].s_bool = xret;
    }
    void x_9(Smoke::Stack x) {
        // QDataStream::Status status() const
        QDataStream::Status xret = ((const x_QDataStream*)this)->QDataStream::status();
        x[0].s_enum = xret;
    }
    void x_10(Smoke::Stack x) {
        // void setStatus(QDataStream::Status)
        this->QDataStream::setStatus((QDataStream::Status)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void resetStatus()
        this->QDataStream::resetStatus();
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // QDataStream::FloatingPointPrecision floatingPointPrecision() const
        QDataStream::FloatingPointPrecision xret = ((const x_QDataStream*)this)->QDataStream::floatingPointPrecision();
        x[0].s_enum = xret;
    }
    void x_13(Smoke::Stack x) {
        // void setFloatingPointPrecision(QDataStream::FloatingPointPrecision)
        this->QDataStream::setFloatingPointPrecision((QDataStream::FloatingPointPrecision)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // QDataStream::ByteOrder byteOrder() const
        QDataStream::ByteOrder xret = ((const x_QDataStream*)this)->QDataStream::byteOrder();
        x[0].s_enum = xret;
    }
    void x_15(Smoke::Stack x) {
        // void setByteOrder(QDataStream::ByteOrder)
        this->QDataStream::setByteOrder((QDataStream::ByteOrder)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // int version() const
        int xret = ((const x_QDataStream*)this)->QDataStream::version();
        x[0].s_int = xret;
    }
    void x_17(Smoke::Stack x) {
        // void setVersion(int)
        this->QDataStream::setVersion((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // QDataStream& operator>>(signed char&)
        QDataStream& xret = this->QDataStream::operator>>(*(signed char*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_19(Smoke::Stack x) {
        // QDataStream& operator>>(unsigned char&)
        QDataStream& xret = this->QDataStream::operator>>(*(unsigned char*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_20(Smoke::Stack x) {
        // QDataStream& operator>>(short&)
        QDataStream& xret = this->QDataStream::operator>>(*(short*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_21(Smoke::Stack x) {
        // QDataStream& operator>>(unsigned short&)
        QDataStream& xret = this->QDataStream::operator>>(*(unsigned short*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_22(Smoke::Stack x) {
        // QDataStream& operator>>(int&)
        QDataStream& xret = this->QDataStream::operator>>(*(int*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_23(Smoke::Stack x) {
        // QDataStream& operator>>(unsigned int&)
        QDataStream& xret = this->QDataStream::operator>>(*(unsigned int*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_24(Smoke::Stack x) {
        // QDataStream& operator>>(long long&)
        QDataStream& xret = this->QDataStream::operator>>(*(long long*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_25(Smoke::Stack x) {
        // QDataStream& operator>>(unsigned long long&)
        QDataStream& xret = this->QDataStream::operator>>(*(unsigned long long*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_26(Smoke::Stack x) {
        // QDataStream& operator>>(bool&)
        QDataStream& xret = this->QDataStream::operator>>(*(bool*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_27(Smoke::Stack x) {
        // QDataStream& operator>>(float&)
        QDataStream& xret = this->QDataStream::operator>>(*(float*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_28(Smoke::Stack x) {
        // QDataStream& operator>>(double&)
        QDataStream& xret = this->QDataStream::operator>>(*(double*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_29(Smoke::Stack x) {
        // QDataStream& operator>>(char*&)
        QDataStream& xret = this->QDataStream::operator>>(*(char**)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_30(Smoke::Stack x) {
        // QDataStream& operator<<(signed char)
        QDataStream& xret = this->QDataStream::operator<<((signed char)x[1].s_char);
        x[0].s_class = (void*)&xret;
    }
    void x_31(Smoke::Stack x) {
        // QDataStream& operator<<(unsigned char)
        QDataStream& xret = this->QDataStream::operator<<((unsigned char)x[1].s_uchar);
        x[0].s_class = (void*)&xret;
    }
    void x_32(Smoke::Stack x) {
        // QDataStream& operator<<(short)
        QDataStream& xret = this->QDataStream::operator<<((short)x[1].s_short);
        x[0].s_class = (void*)&xret;
    }
    void x_33(Smoke::Stack x) {
        // QDataStream& operator<<(unsigned short)
        QDataStream& xret = this->QDataStream::operator<<((unsigned short)x[1].s_ushort);
        x[0].s_class = (void*)&xret;
    }
    void x_34(Smoke::Stack x) {
        // QDataStream& operator<<(int)
        QDataStream& xret = this->QDataStream::operator<<((int)x[1].s_int);
        x[0].s_class = (void*)&xret;
    }
    void x_35(Smoke::Stack x) {
        // QDataStream& operator<<(unsigned int)
        QDataStream& xret = this->QDataStream::operator<<((unsigned int)x[1].s_uint);
        x[0].s_class = (void*)&xret;
    }
    void x_36(Smoke::Stack x) {
        // QDataStream& operator<<(long long)
        QDataStream& xret = this->QDataStream::operator<<(*(long long*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_37(Smoke::Stack x) {
        // QDataStream& operator<<(unsigned long long)
        QDataStream& xret = this->QDataStream::operator<<(*(unsigned long long*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_38(Smoke::Stack x) {
        // QDataStream& operator<<(bool)
        QDataStream& xret = this->QDataStream::operator<<((bool)x[1].s_bool);
        x[0].s_class = (void*)&xret;
    }
    void x_39(Smoke::Stack x) {
        // QDataStream& operator<<(float)
        QDataStream& xret = this->QDataStream::operator<<((float)x[1].s_float);
        x[0].s_class = (void*)&xret;
    }
    void x_40(Smoke::Stack x) {
        // QDataStream& operator<<(double)
        QDataStream& xret = this->QDataStream::operator<<((double)x[1].s_double);
        x[0].s_class = (void*)&xret;
    }
    void x_41(Smoke::Stack x) {
        // QDataStream& operator<<(const char*)
        QDataStream& xret = this->QDataStream::operator<<((const char*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_42(Smoke::Stack x) {
        // QDataStream& readBytes(char*&, unsigned int&)
        QDataStream& xret = this->QDataStream::readBytes(*(char**)x[1].s_class,*(unsigned int*)x[2].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_43(Smoke::Stack x) {
        // int readRawData(char*, int)
        int xret = this->QDataStream::readRawData((char*)x[1].s_class,(int)x[2].s_int);
        x[0].s_int = xret;
    }
    void x_44(Smoke::Stack x) {
        // QDataStream& writeBytes(const char*, unsigned int)
        QDataStream& xret = this->QDataStream::writeBytes((const char*)x[1].s_class,(unsigned int)x[2].s_uint);
        x[0].s_class = (void*)&xret;
    }
    void x_45(Smoke::Stack x) {
        // int writeRawData(const char*, int)
        int xret = this->QDataStream::writeRawData((const char*)x[1].s_class,(int)x[2].s_int);
        x[0].s_int = xret;
    }
    void x_46(Smoke::Stack x) {
        // int skipRawData(int)
        int xret = this->QDataStream::skipRawData((int)x[1].s_int);
        x[0].s_int = xret;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::Qt_1_0;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::Qt_2_0;
    }
    static void x_49(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::Qt_2_1;
    }
    static void x_50(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::Qt_3_0;
    }
    static void x_51(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::Qt_3_1;
    }
    static void x_52(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::Qt_3_3;
    }
    static void x_53(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::Qt_4_0;
    }
    static void x_54(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::Qt_4_1;
    }
    static void x_55(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::Qt_4_2;
    }
    static void x_56(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::Qt_4_3;
    }
    static void x_57(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::Qt_4_4;
    }
    static void x_58(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::Qt_4_5;
    }
    static void x_59(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::Qt_4_6;
    }
    static void x_60(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::Qt_4_7;
    }
    static void x_61(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::Qt_4_8;
    }
    static void x_62(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::BigEndian;
    }
    static void x_63(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::LittleEndian;
    }
    static void x_64(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::Ok;
    }
    static void x_65(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::ReadPastEnd;
    }
    static void x_66(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::ReadCorruptData;
    }
    static void x_67(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::WriteFailed;
    }
    static void x_68(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::SinglePrecision;
    }
    static void x_69(Smoke::Stack x) {
        x[0].s_enum = (long)QDataStream::DoublePrecision;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 72: //QDataStream::Version
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QDataStream::Version;
                    break;
                case Smoke::EnumDelete:
                    delete (QDataStream::Version*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QDataStream::Version*)xdata = (QDataStream::Version)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QDataStream::Version*)xdata;
                    break;
            }
            break;
        case 69: //QDataStream::ByteOrder
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QDataStream::ByteOrder;
                    break;
                case Smoke::EnumDelete:
                    delete (QDataStream::ByteOrder*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QDataStream::ByteOrder*)xdata = (QDataStream::ByteOrder)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QDataStream::ByteOrder*)xdata;
                    break;
            }
            break;
        case 71: //QDataStream::Status
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QDataStream::Status;
                    break;
                case Smoke::EnumDelete:
                    delete (QDataStream::Status*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QDataStream::Status*)xdata = (QDataStream::Status)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QDataStream::Status*)xdata;
                    break;
            }
            break;
        case 70: //QDataStream::FloatingPointPrecision
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QDataStream::FloatingPointPrecision;
                    break;
                case Smoke::EnumDelete:
                    delete (QDataStream::FloatingPointPrecision*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QDataStream::FloatingPointPrecision*)xdata = (QDataStream::FloatingPointPrecision)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QDataStream::FloatingPointPrecision*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QDataStream() { this->_binding->deleted(32, (void*)this); }
};
void xenum_QDataStream(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QDataStream::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QDataStream(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QDataStream *xself = (x_QDataStream*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QDataStream::x_1(args);	break;
        case 2: x_QDataStream::x_2(args);	break;
        case 3: x_QDataStream::x_3(args);	break;
        case 4: x_QDataStream::x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: xself->x_41(args);	break;
        case 42: xself->x_42(args);	break;
        case 43: xself->x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: xself->x_45(args);	break;
        case 46: xself->x_46(args);	break;
        case 47: x_QDataStream::x_47(args);	break;
        case 48: x_QDataStream::x_48(args);	break;
        case 49: x_QDataStream::x_49(args);	break;
        case 50: x_QDataStream::x_50(args);	break;
        case 51: x_QDataStream::x_51(args);	break;
        case 52: x_QDataStream::x_52(args);	break;
        case 53: x_QDataStream::x_53(args);	break;
        case 54: x_QDataStream::x_54(args);	break;
        case 55: x_QDataStream::x_55(args);	break;
        case 56: x_QDataStream::x_56(args);	break;
        case 57: x_QDataStream::x_57(args);	break;
        case 58: x_QDataStream::x_58(args);	break;
        case 59: x_QDataStream::x_59(args);	break;
        case 60: x_QDataStream::x_60(args);	break;
        case 61: x_QDataStream::x_61(args);	break;
        case 62: x_QDataStream::x_62(args);	break;
        case 63: x_QDataStream::x_63(args);	break;
        case 64: x_QDataStream::x_64(args);	break;
        case 65: x_QDataStream::x_65(args);	break;
        case 66: x_QDataStream::x_66(args);	break;
        case 67: x_QDataStream::x_67(args);	break;
        case 68: x_QDataStream::x_68(args);	break;
        case 69: x_QDataStream::x_69(args);	break;
        case 70: delete (QDataStream*)xself;	break;
    }
}
class x_QDate : public QDate {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QDate* QDate()
        x_QDate* xret = new x_QDate();
        x[0].s_class = (void*)xret;
    }
    explicit x_QDate() : QDate() {}
    static void x_2(Smoke::Stack x) {
        // QDate* QDate(int, int, int)
        x_QDate* xret = new x_QDate((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int);
        x[0].s_class = (void*)xret;
    }
    explicit x_QDate(int x1, int x2, int x3) : QDate(x1, x2, x3) {}
    void x_3(Smoke::Stack x) {
        // bool isNull() const
        bool xret = ((const x_QDate*)this)->QDate::isNull();
        x[0].s_bool = xret;
    }
    void x_4(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_QDate*)this)->QDate::isValid();
        x[0].s_bool = xret;
    }
    void x_5(Smoke::Stack x) {
        // int year() const
        int xret = ((const x_QDate*)this)->QDate::year();
        x[0].s_int = xret;
    }
    void x_6(Smoke::Stack x) {
        // int month() const
        int xret = ((const x_QDate*)this)->QDate::month();
        x[0].s_int = xret;
    }
    void x_7(Smoke::Stack x) {
        // int day() const
        int xret = ((const x_QDate*)this)->QDate::day();
        x[0].s_int = xret;
    }
    void x_8(Smoke::Stack x) {
        // int dayOfWeek() const
        int xret = ((const x_QDate*)this)->QDate::dayOfWeek();
        x[0].s_int = xret;
    }
    void x_9(Smoke::Stack x) {
        // int dayOfYear() const
        int xret = ((const x_QDate*)this)->QDate::dayOfYear();
        x[0].s_int = xret;
    }
    void x_10(Smoke::Stack x) {
        // int daysInMonth() const
        int xret = ((const x_QDate*)this)->QDate::daysInMonth();
        x[0].s_int = xret;
    }
    void x_11(Smoke::Stack x) {
        // int daysInYear() const
        int xret = ((const x_QDate*)this)->QDate::daysInYear();
        x[0].s_int = xret;
    }
    void x_12(Smoke::Stack x) {
        // int weekNumber(int*) const
        int xret = ((const x_QDate*)this)->QDate::weekNumber((int*)x[1].s_class);
        x[0].s_int = xret;
    }
    static void x_13(Smoke::Stack x) {
        // static QString shortMonthName(int)
        QString xret = QDate::shortMonthName((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // static QString shortMonthName(int, QDate::MonthNameType)
        QString xret = QDate::shortMonthName((int)x[1].s_int,(QDate::MonthNameType)x[2].s_enum);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_15(Smoke::Stack x) {
        // static QString shortDayName(int)
        QString xret = QDate::shortDayName((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_16(Smoke::Stack x) {
        // static QString shortDayName(int, QDate::MonthNameType)
        QString xret = QDate::shortDayName((int)x[1].s_int,(QDate::MonthNameType)x[2].s_enum);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_17(Smoke::Stack x) {
        // static QString longMonthName(int)
        QString xret = QDate::longMonthName((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_18(Smoke::Stack x) {
        // static QString longMonthName(int, QDate::MonthNameType)
        QString xret = QDate::longMonthName((int)x[1].s_int,(QDate::MonthNameType)x[2].s_enum);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_19(Smoke::Stack x) {
        // static QString longDayName(int)
        QString xret = QDate::longDayName((int)x[1].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_20(Smoke::Stack x) {
        // static QString longDayName(int, QDate::MonthNameType)
        QString xret = QDate::longDayName((int)x[1].s_int,(QDate::MonthNameType)x[2].s_enum);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_21(Smoke::Stack x) {
        // QString toString(Qt::DateFormat) const
        QString xret = ((const x_QDate*)this)->QDate::toString((Qt::DateFormat)x[1].s_enum);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_22(Smoke::Stack x) {
        // QString toString(const QString&) const
        QString xret = ((const x_QDate*)this)->QDate::toString(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_23(Smoke::Stack x) {
        // bool setYMD(int, int, int)
        bool xret = this->QDate::setYMD((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int);
        x[0].s_bool = xret;
    }
    void x_24(Smoke::Stack x) {
        // bool setDate(int, int, int)
        bool xret = this->QDate::setDate((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int);
        x[0].s_bool = xret;
    }
    void x_25(Smoke::Stack x) {
        // void getDate(int*, int*, int*)
        this->QDate::getDate((int*)x[1].s_class,(int*)x[2].s_class,(int*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // QDate addDays(int) const
        QDate xret = ((const x_QDate*)this)->QDate::addDays((int)x[1].s_int);
        x[0].s_class = (void*)new QDate(xret);
    }
    void x_27(Smoke::Stack x) {
        // QDate addMonths(int) const
        QDate xret = ((const x_QDate*)this)->QDate::addMonths((int)x[1].s_int);
        x[0].s_class = (void*)new QDate(xret);
    }
    void x_28(Smoke::Stack x) {
        // QDate addYears(int) const
        QDate xret = ((const x_QDate*)this)->QDate::addYears((int)x[1].s_int);
        x[0].s_class = (void*)new QDate(xret);
    }
    void x_29(Smoke::Stack x) {
        // int daysTo(const QDate&) const
        int xret = ((const x_QDate*)this)->QDate::daysTo(*(const QDate*)x[1].s_class);
        x[0].s_int = xret;
    }
    void x_30(Smoke::Stack x) {
        // bool operator==(const QDate&) const
        bool xret = ((const x_QDate*)this)->QDate::operator==(*(const QDate*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_31(Smoke::Stack x) {
        // bool operator!=(const QDate&) const
        bool xret = ((const x_QDate*)this)->QDate::operator!=(*(const QDate*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_32(Smoke::Stack x) {
        // bool operator<(const QDate&) const
        bool xret = ((const x_QDate*)this)->QDate::operator<(*(const QDate*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_33(Smoke::Stack x) {
        // bool operator<=(const QDate&) const
        bool xret = ((const x_QDate*)this)->QDate::operator<=(*(const QDate*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_34(Smoke::Stack x) {
        // bool operator>(const QDate&) const
        bool xret = ((const x_QDate*)this)->QDate::operator>(*(const QDate*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_35(Smoke::Stack x) {
        // bool operator>=(const QDate&) const
        bool xret = ((const x_QDate*)this)->QDate::operator>=(*(const QDate*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_36(Smoke::Stack x) {
        // static QDate currentDate()
        QDate xret = QDate::currentDate();
        x[0].s_class = (void*)new QDate(xret);
    }
    static void x_37(Smoke::Stack x) {
        // static QDate fromString(const QString&, Qt::DateFormat)
        QDate xret = QDate::fromString(*(const QString*)x[1].s_class,(Qt::DateFormat)x[2].s_enum);
        x[0].s_class = (void*)new QDate(xret);
    }
    static void x_38(Smoke::Stack x) {
        // static QDate fromString(const QString&, const QString&)
        QDate xret = QDate::fromString(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class);
        x[0].s_class = (void*)new QDate(xret);
    }
    static void x_39(Smoke::Stack x) {
        // static bool isValid(int, int, int)
        bool xret = QDate::isValid((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int);
        x[0].s_bool = xret;
    }
    static void x_40(Smoke::Stack x) {
        // static bool isLeapYear(int)
        bool xret = QDate::isLeapYear((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    static void x_41(Smoke::Stack x) {
        // static unsigned int gregorianToJulian(int, int, int)
        unsigned int xret = QDate::gregorianToJulian((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int);
        x[0].s_uint = xret;
    }
    static void x_42(Smoke::Stack x) {
        // static void julianToGregorian(unsigned int, int&, int&, int&)
        QDate::julianToGregorian((unsigned int)x[1].s_uint,*(int*)x[2].s_class,*(int*)x[3].s_class,*(int*)x[4].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_43(Smoke::Stack x) {
        // static QDate fromJulianDay(int)
        QDate xret = QDate::fromJulianDay((int)x[1].s_int);
        x[0].s_class = (void*)new QDate(xret);
    }
    void x_44(Smoke::Stack x) {
        // int toJulianDay() const
        int xret = ((const x_QDate*)this)->QDate::toJulianDay();
        x[0].s_int = xret;
    }
    static void x_45(Smoke::Stack x) {
        // QDate* QDate(const QDate&)
        x_QDate* xret = new x_QDate(*(const QDate*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QDate(const QDate& x1) : QDate(x1) {}
    void x_46(Smoke::Stack x) {
        // int weekNumber() const
        int xret = ((const x_QDate*)this)->QDate::weekNumber((int*)0);
        x[0].s_int = xret;
    }
    void x_47(Smoke::Stack x) {
        // QString toString() const
        QString xret = ((const x_QDate*)this)->QDate::toString((Qt::DateFormat)Qt::TextDate);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_48(Smoke::Stack x) {
        // static QDate fromString(const QString&)
        QDate xret = QDate::fromString(*(const QString*)x[1].s_class,(Qt::DateFormat)Qt::TextDate);
        x[0].s_class = (void*)new QDate(xret);
    }
    static void x_49(Smoke::Stack x) {
        x[0].s_enum = (long)QDate::DateFormat;
    }
    static void x_50(Smoke::Stack x) {
        x[0].s_enum = (long)QDate::StandaloneFormat;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 76: //QDate::MonthNameType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QDate::MonthNameType;
                    break;
                case Smoke::EnumDelete:
                    delete (QDate::MonthNameType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QDate::MonthNameType*)xdata = (QDate::MonthNameType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QDate::MonthNameType*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QDate() { this->_binding->deleted(33, (void*)this); }
};
void xenum_QDate(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QDate::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QDate(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QDate *xself = (x_QDate*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QDate::x_1(args);	break;
        case 2: x_QDate::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: x_QDate::x_13(args);	break;
        case 14: x_QDate::x_14(args);	break;
        case 15: x_QDate::x_15(args);	break;
        case 16: x_QDate::x_16(args);	break;
        case 17: x_QDate::x_17(args);	break;
        case 18: x_QDate::x_18(args);	break;
        case 19: x_QDate::x_19(args);	break;
        case 20: x_QDate::x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: x_QDate::x_36(args);	break;
        case 37: x_QDate::x_37(args);	break;
        case 38: x_QDate::x_38(args);	break;
        case 39: x_QDate::x_39(args);	break;
        case 40: x_QDate::x_40(args);	break;
        case 41: x_QDate::x_41(args);	break;
        case 42: x_QDate::x_42(args);	break;
        case 43: x_QDate::x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: x_QDate::x_45(args);	break;
        case 46: xself->x_46(args);	break;
        case 47: xself->x_47(args);	break;
        case 48: x_QDate::x_48(args);	break;
        case 49: x_QDate::x_49(args);	break;
        case 50: x_QDate::x_50(args);	break;
        case 51: delete (QDate*)xself;	break;
    }
}
class x_QDateTime : public QDateTime {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QDateTime* QDateTime()
        x_QDateTime* xret = new x_QDateTime();
        x[0].s_class = (void*)xret;
    }
    explicit x_QDateTime() : QDateTime() {}
    static void x_2(Smoke::Stack x) {
        // QDateTime* QDateTime(const QDate&)
        x_QDateTime* xret = new x_QDateTime(*(const QDate*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QDateTime(const QDate& x1) : QDateTime(x1) {}
    static void x_3(Smoke::Stack x) {
        // QDateTime* QDateTime(const QDate&, const QTime&, Qt::TimeSpec)
        x_QDateTime* xret = new x_QDateTime(*(const QDate*)x[1].s_class,*(const QTime*)x[2].s_class,(Qt::TimeSpec)x[3].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_QDateTime(const QDate& x1, const QTime& x2, Qt::TimeSpec x3) : QDateTime(x1, x2, x3) {}
    static void x_4(Smoke::Stack x) {
        // QDateTime* QDateTime(const QDateTime&)
        x_QDateTime* xret = new x_QDateTime(*(const QDateTime*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QDateTime(const QDateTime& x1) : QDateTime(x1) {}
    void x_5(Smoke::Stack x) {
        // QDateTime& operator=(const QDateTime&)
        QDateTime& xret = this->QDateTime::operator=(*(const QDateTime*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // bool isNull() const
        bool xret = ((const x_QDateTime*)this)->QDateTime::isNull();
        x[0].s_bool = xret;
    }
    void x_7(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_QDateTime*)this)->QDateTime::isValid();
        x[0].s_bool = xret;
    }
    void x_8(Smoke::Stack x) {
        // QDate date() const
        QDate xret = ((const x_QDateTime*)this)->QDateTime::date();
        x[0].s_class = (void*)new QDate(xret);
    }
    void x_9(Smoke::Stack x) {
        // QTime time() const
        QTime xret = ((const x_QDateTime*)this)->QDateTime::time();
        x[0].s_class = (void*)new QTime(xret);
    }
    void x_10(Smoke::Stack x) {
        // Qt::TimeSpec timeSpec() const
        Qt::TimeSpec xret = ((const x_QDateTime*)this)->QDateTime::timeSpec();
        x[0].s_enum = xret;
    }
    void x_11(Smoke::Stack x) {
        // long long toMSecsSinceEpoch() const
        long long xret = ((const x_QDateTime*)this)->QDateTime::toMSecsSinceEpoch();
        x[0].s_class = (void*)new long long(xret);
    }
    void x_12(Smoke::Stack x) {
        // unsigned int toTime_t() const
        unsigned int xret = ((const x_QDateTime*)this)->QDateTime::toTime_t();
        x[0].s_uint = xret;
    }
    void x_13(Smoke::Stack x) {
        // void setDate(const QDate&)
        this->QDateTime::setDate(*(const QDate*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // void setTime(const QTime&)
        this->QDateTime::setTime(*(const QTime*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void setTimeSpec(Qt::TimeSpec)
        this->QDateTime::setTimeSpec((Qt::TimeSpec)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // void setMSecsSinceEpoch(long long)
        this->QDateTime::setMSecsSinceEpoch(*(long long*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void setTime_t(unsigned int)
        this->QDateTime::setTime_t((unsigned int)x[1].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // QString toString(Qt::DateFormat) const
        QString xret = ((const x_QDateTime*)this)->QDateTime::toString((Qt::DateFormat)x[1].s_enum);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_19(Smoke::Stack x) {
        // QString toString(const QString&) const
        QString xret = ((const x_QDateTime*)this)->QDateTime::toString(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_20(Smoke::Stack x) {
        // QDateTime addDays(int) const
        QDateTime xret = ((const x_QDateTime*)this)->QDateTime::addDays((int)x[1].s_int);
        x[0].s_class = (void*)new QDateTime(xret);
    }
    void x_21(Smoke::Stack x) {
        // QDateTime addMonths(int) const
        QDateTime xret = ((const x_QDateTime*)this)->QDateTime::addMonths((int)x[1].s_int);
        x[0].s_class = (void*)new QDateTime(xret);
    }
    void x_22(Smoke::Stack x) {
        // QDateTime addYears(int) const
        QDateTime xret = ((const x_QDateTime*)this)->QDateTime::addYears((int)x[1].s_int);
        x[0].s_class = (void*)new QDateTime(xret);
    }
    void x_23(Smoke::Stack x) {
        // QDateTime addSecs(int) const
        QDateTime xret = ((const x_QDateTime*)this)->QDateTime::addSecs((int)x[1].s_int);
        x[0].s_class = (void*)new QDateTime(xret);
    }
    void x_24(Smoke::Stack x) {
        // QDateTime addMSecs(long long) const
        QDateTime xret = ((const x_QDateTime*)this)->QDateTime::addMSecs(*(long long*)x[1].s_class);
        x[0].s_class = (void*)new QDateTime(xret);
    }
    void x_25(Smoke::Stack x) {
        // QDateTime toTimeSpec(Qt::TimeSpec) const
        QDateTime xret = ((const x_QDateTime*)this)->QDateTime::toTimeSpec((Qt::TimeSpec)x[1].s_enum);
        x[0].s_class = (void*)new QDateTime(xret);
    }
    void x_26(Smoke::Stack x) {
        // QDateTime toLocalTime() const
        QDateTime xret = ((const x_QDateTime*)this)->QDateTime::toLocalTime();
        x[0].s_class = (void*)new QDateTime(xret);
    }
    void x_27(Smoke::Stack x) {
        // QDateTime toUTC() const
        QDateTime xret = ((const x_QDateTime*)this)->QDateTime::toUTC();
        x[0].s_class = (void*)new QDateTime(xret);
    }
    void x_28(Smoke::Stack x) {
        // int daysTo(const QDateTime&) const
        int xret = ((const x_QDateTime*)this)->QDateTime::daysTo(*(const QDateTime*)x[1].s_class);
        x[0].s_int = xret;
    }
    void x_29(Smoke::Stack x) {
        // int secsTo(const QDateTime&) const
        int xret = ((const x_QDateTime*)this)->QDateTime::secsTo(*(const QDateTime*)x[1].s_class);
        x[0].s_int = xret;
    }
    void x_30(Smoke::Stack x) {
        // long long msecsTo(const QDateTime&) const
        long long xret = ((const x_QDateTime*)this)->QDateTime::msecsTo(*(const QDateTime*)x[1].s_class);
        x[0].s_class = (void*)new long long(xret);
    }
    void x_31(Smoke::Stack x) {
        // bool operator==(const QDateTime&) const
        bool xret = ((const x_QDateTime*)this)->QDateTime::operator==(*(const QDateTime*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_32(Smoke::Stack x) {
        // bool operator!=(const QDateTime&) const
        bool xret = ((const x_QDateTime*)this)->QDateTime::operator!=(*(const QDateTime*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_33(Smoke::Stack x) {
        // bool operator<(const QDateTime&) const
        bool xret = ((const x_QDateTime*)this)->QDateTime::operator<(*(const QDateTime*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_34(Smoke::Stack x) {
        // bool operator<=(const QDateTime&) const
        bool xret = ((const x_QDateTime*)this)->QDateTime::operator<=(*(const QDateTime*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_35(Smoke::Stack x) {
        // bool operator>(const QDateTime&) const
        bool xret = ((const x_QDateTime*)this)->QDateTime::operator>(*(const QDateTime*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_36(Smoke::Stack x) {
        // bool operator>=(const QDateTime&) const
        bool xret = ((const x_QDateTime*)this)->QDateTime::operator>=(*(const QDateTime*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_37(Smoke::Stack x) {
        // void setUtcOffset(int)
        this->QDateTime::setUtcOffset((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_38(Smoke::Stack x) {
        // int utcOffset() const
        int xret = ((const x_QDateTime*)this)->QDateTime::utcOffset();
        x[0].s_int = xret;
    }
    static void x_39(Smoke::Stack x) {
        // static QDateTime currentDateTime()
        QDateTime xret = QDateTime::currentDateTime();
        x[0].s_class = (void*)new QDateTime(xret);
    }
    static void x_40(Smoke::Stack x) {
        // static QDateTime currentDateTimeUtc()
        QDateTime xret = QDateTime::currentDateTimeUtc();
        x[0].s_class = (void*)new QDateTime(xret);
    }
    static void x_41(Smoke::Stack x) {
        // static QDateTime fromString(const QString&, Qt::DateFormat)
        QDateTime xret = QDateTime::fromString(*(const QString*)x[1].s_class,(Qt::DateFormat)x[2].s_enum);
        x[0].s_class = (void*)new QDateTime(xret);
    }
    static void x_42(Smoke::Stack x) {
        // static QDateTime fromString(const QString&, const QString&)
        QDateTime xret = QDateTime::fromString(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class);
        x[0].s_class = (void*)new QDateTime(xret);
    }
    static void x_43(Smoke::Stack x) {
        // static QDateTime fromTime_t(unsigned int)
        QDateTime xret = QDateTime::fromTime_t((unsigned int)x[1].s_uint);
        x[0].s_class = (void*)new QDateTime(xret);
    }
    static void x_44(Smoke::Stack x) {
        // static QDateTime fromMSecsSinceEpoch(long long)
        QDateTime xret = QDateTime::fromMSecsSinceEpoch(*(long long*)x[1].s_class);
        x[0].s_class = (void*)new QDateTime(xret);
    }
    static void x_45(Smoke::Stack x) {
        // static long long currentMSecsSinceEpoch()
        long long xret = QDateTime::currentMSecsSinceEpoch();
        x[0].s_class = (void*)new long long(xret);
    }
    static void x_46(Smoke::Stack x) {
        // QDateTime* QDateTime(const QDate&, const QTime&)
        x_QDateTime* xret = new x_QDateTime(*(const QDate*)x[1].s_class,*(const QTime*)x[2].s_class,(Qt::TimeSpec)Qt::LocalTime);
        x[0].s_class = (void*)xret;
    }
    void x_47(Smoke::Stack x) {
        // QString toString() const
        QString xret = ((const x_QDateTime*)this)->QDateTime::toString((Qt::DateFormat)Qt::TextDate);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_48(Smoke::Stack x) {
        // static QDateTime fromString(const QString&)
        QDateTime xret = QDateTime::fromString(*(const QString*)x[1].s_class,(Qt::DateFormat)Qt::TextDate);
        x[0].s_class = (void*)new QDateTime(xret);
    }
    ~x_QDateTime() { this->_binding->deleted(34, (void*)this); }
};
void xcall_QDateTime(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QDateTime *xself = (x_QDateTime*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QDateTime::x_1(args);	break;
        case 2: x_QDateTime::x_2(args);	break;
        case 3: x_QDateTime::x_3(args);	break;
        case 4: x_QDateTime::x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: x_QDateTime::x_39(args);	break;
        case 40: x_QDateTime::x_40(args);	break;
        case 41: x_QDateTime::x_41(args);	break;
        case 42: x_QDateTime::x_42(args);	break;
        case 43: x_QDateTime::x_43(args);	break;
        case 44: x_QDateTime::x_44(args);	break;
        case 45: x_QDateTime::x_45(args);	break;
        case 46: x_QDateTime::x_46(args);	break;
        case 47: xself->x_47(args);	break;
        case 48: x_QDateTime::x_48(args);	break;
        case 49: delete (QDateTime*)xself;	break;
    }
}
class x_QDebug : public QDebug {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QDebug* QDebug(QIODevice*)
        x_QDebug* xret = new x_QDebug((QIODevice*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QDebug(QIODevice* x1) : QDebug(x1) {}
    static void x_2(Smoke::Stack x) {
        // QDebug* QDebug(QString*)
        x_QDebug* xret = new x_QDebug((QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QDebug(QString* x1) : QDebug(x1) {}
    static void x_3(Smoke::Stack x) {
        // QDebug* QDebug(QtMsgType)
        x_QDebug* xret = new x_QDebug((QtMsgType)x[1].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_QDebug(QtMsgType x1) : QDebug(x1) {}
    static void x_4(Smoke::Stack x) {
        // QDebug* QDebug(const QDebug&)
        x_QDebug* xret = new x_QDebug(*(const QDebug*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QDebug(const QDebug& x1) : QDebug(x1) {}
    void x_5(Smoke::Stack x) {
        // QDebug& operator=(const QDebug&)
        QDebug& xret = this->QDebug::operator=(*(const QDebug*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // QDebug& space()
        QDebug& xret = this->QDebug::space();
        x[0].s_class = (void*)&xret;
    }
    void x_7(Smoke::Stack x) {
        // QDebug& nospace()
        QDebug& xret = this->QDebug::nospace();
        x[0].s_class = (void*)&xret;
    }
    void x_8(Smoke::Stack x) {
        // QDebug& maybeSpace()
        QDebug& xret = this->QDebug::maybeSpace();
        x[0].s_class = (void*)&xret;
    }
    void x_9(Smoke::Stack x) {
        // QDebug& operator<<(QChar)
        QDebug& xret = this->QDebug::operator<<(*(QChar*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_10(Smoke::Stack x) {
        // QDebug& operator<<(QBool)
        QDebug& xret = this->QDebug::operator<<(*(QBool*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_11(Smoke::Stack x) {
        // QDebug& operator<<(bool)
        QDebug& xret = this->QDebug::operator<<((bool)x[1].s_bool);
        x[0].s_class = (void*)&xret;
    }
    void x_12(Smoke::Stack x) {
        // QDebug& operator<<(char)
        QDebug& xret = this->QDebug::operator<<((char)x[1].s_char);
        x[0].s_class = (void*)&xret;
    }
    void x_13(Smoke::Stack x) {
        // QDebug& operator<<(signed short)
        QDebug& xret = this->QDebug::operator<<((signed short)x[1].s_short);
        x[0].s_class = (void*)&xret;
    }
    void x_14(Smoke::Stack x) {
        // QDebug& operator<<(unsigned short)
        QDebug& xret = this->QDebug::operator<<((unsigned short)x[1].s_ushort);
        x[0].s_class = (void*)&xret;
    }
    void x_15(Smoke::Stack x) {
        // QDebug& operator<<(signed int)
        QDebug& xret = this->QDebug::operator<<((signed int)x[1].s_int);
        x[0].s_class = (void*)&xret;
    }
    void x_16(Smoke::Stack x) {
        // QDebug& operator<<(unsigned int)
        QDebug& xret = this->QDebug::operator<<((unsigned int)x[1].s_uint);
        x[0].s_class = (void*)&xret;
    }
    void x_17(Smoke::Stack x) {
        // QDebug& operator<<(signed long)
        QDebug& xret = this->QDebug::operator<<((signed long)x[1].s_long);
        x[0].s_class = (void*)&xret;
    }
    void x_18(Smoke::Stack x) {
        // QDebug& operator<<(unsigned long)
        QDebug& xret = this->QDebug::operator<<((unsigned long)x[1].s_ulong);
        x[0].s_class = (void*)&xret;
    }
    void x_19(Smoke::Stack x) {
        // QDebug& operator<<(long long)
        QDebug& xret = this->QDebug::operator<<(*(long long*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_20(Smoke::Stack x) {
        // QDebug& operator<<(unsigned long long)
        QDebug& xret = this->QDebug::operator<<(*(unsigned long long*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_21(Smoke::Stack x) {
        // QDebug& operator<<(float)
        QDebug& xret = this->QDebug::operator<<((float)x[1].s_float);
        x[0].s_class = (void*)&xret;
    }
    void x_22(Smoke::Stack x) {
        // QDebug& operator<<(double)
        QDebug& xret = this->QDebug::operator<<((double)x[1].s_double);
        x[0].s_class = (void*)&xret;
    }
    void x_23(Smoke::Stack x) {
        // QDebug& operator<<(const char*)
        QDebug& xret = this->QDebug::operator<<((const char*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_24(Smoke::Stack x) {
        // QDebug& operator<<(const QString&)
        QDebug& xret = this->QDebug::operator<<(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_25(Smoke::Stack x) {
        // QDebug& operator<<(const QStringRef&)
        QDebug& xret = this->QDebug::operator<<(*(const QStringRef*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_26(Smoke::Stack x) {
        // QDebug& operator<<(const QLatin1String&)
        QDebug& xret = this->QDebug::operator<<(*(const QLatin1String*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_27(Smoke::Stack x) {
        // QDebug& operator<<(const QByteArray&)
        QDebug& xret = this->QDebug::operator<<(*(const QByteArray*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_28(Smoke::Stack x) {
        // QDebug& operator<<(const void*)
        QDebug& xret = this->QDebug::operator<<((const void*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_29(Smoke::Stack x) {
        // QDebug& operator<<(QTextStream&(*)(QTextStream&))
        QDebug& xret = this->QDebug::operator<<((QTextStream&(*)(QTextStream&))x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_30(Smoke::Stack x) {
        // QDebug& operator<<(QTextStreamManipulator)
        QDebug& xret = this->QDebug::operator<<(*(QTextStreamManipulator*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    ~x_QDebug() { this->_binding->deleted(35, (void*)this); }
};
void xcall_QDebug(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QDebug *xself = (x_QDebug*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QDebug::x_1(args);	break;
        case 2: x_QDebug::x_2(args);	break;
        case 3: x_QDebug::x_3(args);	break;
        case 4: x_QDebug::x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: delete (QDebug*)xself;	break;
    }
}

}
