//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_QEventTransition : public QEventTransition, 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<QEventTransition*>(this))) {
            const QMetaObject* xret = ((const x_QEventTransition*)this)->QEventTransition::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QEventTransition*)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<QEventTransition*>(this))) {
            void* xret = this->QEventTransition::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 = QEventTransition::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 = QEventTransition::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 = QEventTransition::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 = QEventTransition::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<QEventTransition*>(this))) {
            int xret = this->QEventTransition::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) {
        // QEventTransition* QEventTransition(QState*)
        x_QEventTransition* xret = new x_QEventTransition((QState*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QEventTransition(QState* x1) : QEventTransition(x1) {}
    static void x_9(Smoke::Stack x) {
        // QEventTransition* QEventTransition(QObject*, QEvent::Type, QState*)
        x_QEventTransition* xret = new x_QEventTransition((QObject*)x[1].s_class,(QEvent::Type)x[2].s_enum,(QState*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QEventTransition(QObject* x1, QEvent::Type x2, QState* x3) : QEventTransition(x1, x2, x3) {}
    void x_10(Smoke::Stack x) {
        // QObject* eventSource() const
        QObject* xret = ((const x_QEventTransition*)this)->QEventTransition::eventSource();
        x[0].s_class = (void*)xret;
    }
    void x_11(Smoke::Stack x) {
        // void setEventSource(QObject*)
        this->QEventTransition::setEventSource((QObject*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // QEvent::Type eventType() const
        QEvent::Type xret = ((const x_QEventTransition*)this)->QEventTransition::eventType();
        x[0].s_enum = xret;
    }
    void x_13(Smoke::Stack x) {
        // void setEventType(QEvent::Type)
        this->QEventTransition::setEventType((QEvent::Type)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // bool eventTest(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QEventTransition*>(this))) {
            bool xret = this->QEventTransition::eventTest((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->eventTest((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_15(Smoke::Stack x) {
        // void onTransition(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QEventTransition*>(this))) {
            this->QEventTransition::onTransition((QEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->onTransition((QEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_16(Smoke::Stack x) {
        // bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QEventTransition*>(this))) {
            bool xret = this->QEventTransition::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;
        }
    }
    static void x_17(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QEventTransition::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_18(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QEventTransition::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_19(Smoke::Stack x) {
        // QEventTransition* QEventTransition()
        x_QEventTransition* xret = new x_QEventTransition((QState*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_20(Smoke::Stack x) {
        // QEventTransition* QEventTransition(QObject*, QEvent::Type)
        x_QEventTransition* xret = new x_QEventTransition((QObject*)x[1].s_class,(QEvent::Type)x[2].s_enum,(QState*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_21(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QEventTransition::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1692, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QEventTransition::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1693, (void*)this, x)) return (void*)x[0].s_class;
        return this->QEventTransition::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(1698, (void*)this, x)) return (int)x[0].s_int;
        return this->QEventTransition::qt_metacall(x1, x2, x3);
    }
    virtual bool eventTest(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1705, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QEventTransition::eventTest(x1);
    }
    virtual void onTransition(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1706, (void*)this, x)) return;
        this->QEventTransition::onTransition(x1);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1707, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QEventTransition::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);
    }
    ~x_QEventTransition() { this->_binding->deleted(44, (void*)this); }
};
void xcall_QEventTransition(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QEventTransition *xself = (x_QEventTransition*)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_QEventTransition::x_3(args);	break;
        case 4: x_QEventTransition::x_4(args);	break;
        case 5: x_QEventTransition::x_5(args);	break;
        case 6: x_QEventTransition::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QEventTransition::x_8(args);	break;
        case 9: x_QEventTransition::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: x_QEventTransition::x_17(args);	break;
        case 18: x_QEventTransition::x_18(args);	break;
        case 19: x_QEventTransition::x_19(args);	break;
        case 20: x_QEventTransition::x_20(args);	break;
        case 21: x_QEventTransition::x_21(args);	break;
        case 22: delete (QEventTransition*)xself;	break;
    }
}
class x_QFSFileEngine : public QFSFileEngine, 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) {
        // QFSFileEngine* QFSFileEngine()
        x_QFSFileEngine* xret = new x_QFSFileEngine();
        x[0].s_class = (void*)xret;
    }
    explicit x_QFSFileEngine() : QFSFileEngine() {}
    static void x_2(Smoke::Stack x) {
        // QFSFileEngine* QFSFileEngine(const QString&)
        x_QFSFileEngine* xret = new x_QFSFileEngine(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QFSFileEngine(const QString& x1) : QFSFileEngine(x1) {}
    void x_3(Smoke::Stack x) {
        // bool open(QFlags<QIODevice::OpenModeFlag>)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            bool xret = this->QFSFileEngine::open((QFlags<QIODevice::OpenModeFlag>)x[1].s_uint);
            x[0].s_bool = xret;
        } else {
            bool xret = this->open((QFlags<QIODevice::OpenModeFlag>)x[1].s_uint);
            x[0].s_bool = xret;
        }
    }
    void x_4(Smoke::Stack x) {
        // bool open(QFlags<QIODevice::OpenModeFlag>, FILE*)
        bool xret = this->QFSFileEngine::open((QFlags<QIODevice::OpenModeFlag>)x[1].s_uint,(FILE*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_5(Smoke::Stack x) {
        // bool close()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            bool xret = this->QFSFileEngine::close();
            x[0].s_bool = xret;
        } else {
            bool xret = this->close();
            x[0].s_bool = xret;
        }
    }
    void x_6(Smoke::Stack x) {
        // bool flush()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            bool xret = this->QFSFileEngine::flush();
            x[0].s_bool = xret;
        } else {
            bool xret = this->flush();
            x[0].s_bool = xret;
        }
    }
    void x_7(Smoke::Stack x) {
        // long long size() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            long long xret = ((const x_QFSFileEngine*)this)->QFSFileEngine::size();
            x[0].s_class = (void*)new long long(xret);
        } else {
            long long xret = ((const x_QFSFileEngine*)this)->size();
            x[0].s_class = (void*)new long long(xret);
        }
    }
    void x_8(Smoke::Stack x) {
        // long long pos() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            long long xret = ((const x_QFSFileEngine*)this)->QFSFileEngine::pos();
            x[0].s_class = (void*)new long long(xret);
        } else {
            long long xret = ((const x_QFSFileEngine*)this)->pos();
            x[0].s_class = (void*)new long long(xret);
        }
    }
    void x_9(Smoke::Stack x) {
        // bool seek(long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            bool xret = this->QFSFileEngine::seek(*(long long*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->seek(*(long long*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_10(Smoke::Stack x) {
        // bool isSequential() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            bool xret = ((const x_QFSFileEngine*)this)->QFSFileEngine::isSequential();
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QFSFileEngine*)this)->isSequential();
            x[0].s_bool = xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // bool remove()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            bool xret = this->QFSFileEngine::remove();
            x[0].s_bool = xret;
        } else {
            bool xret = this->remove();
            x[0].s_bool = xret;
        }
    }
    void x_12(Smoke::Stack x) {
        // bool copy(const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            bool xret = this->QFSFileEngine::copy(*(const QString*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->copy(*(const QString*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_13(Smoke::Stack x) {
        // bool rename(const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            bool xret = this->QFSFileEngine::rename(*(const QString*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->rename(*(const QString*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_14(Smoke::Stack x) {
        // bool link(const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            bool xret = this->QFSFileEngine::link(*(const QString*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->link(*(const QString*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_15(Smoke::Stack x) {
        // bool mkdir(const QString&, bool) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            bool xret = ((const x_QFSFileEngine*)this)->QFSFileEngine::mkdir(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QFSFileEngine*)this)->mkdir(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            x[0].s_bool = xret;
        }
    }
    void x_16(Smoke::Stack x) {
        // bool rmdir(const QString&, bool) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            bool xret = ((const x_QFSFileEngine*)this)->QFSFileEngine::rmdir(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QFSFileEngine*)this)->rmdir(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            x[0].s_bool = xret;
        }
    }
    void x_17(Smoke::Stack x) {
        // bool setSize(long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            bool xret = this->QFSFileEngine::setSize(*(long long*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->setSize(*(long long*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_18(Smoke::Stack x) {
        // bool caseSensitive() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            bool xret = ((const x_QFSFileEngine*)this)->QFSFileEngine::caseSensitive();
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QFSFileEngine*)this)->caseSensitive();
            x[0].s_bool = xret;
        }
    }
    void x_19(Smoke::Stack x) {
        // bool isRelativePath() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            bool xret = ((const x_QFSFileEngine*)this)->QFSFileEngine::isRelativePath();
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QFSFileEngine*)this)->isRelativePath();
            x[0].s_bool = xret;
        }
    }
    void x_20(Smoke::Stack x) {
        // QStringList entryList(QFlags<QDir::Filter>, const QStringList&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            QStringList xret = ((const x_QFSFileEngine*)this)->QFSFileEngine::entryList((QFlags<QDir::Filter>)x[1].s_uint,*(const QStringList*)x[2].s_class);
            x[0].s_class = (void*)new QStringList(xret);
        } else {
            QStringList xret = ((const x_QFSFileEngine*)this)->entryList((QFlags<QDir::Filter>)x[1].s_uint,*(const QStringList*)x[2].s_class);
            x[0].s_class = (void*)new QStringList(xret);
        }
    }
    void x_21(Smoke::Stack x) {
        // QFlags<QAbstractFileEngine::FileFlag> fileFlags(QFlags<QAbstractFileEngine::FileFlag>) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            QFlags<QAbstractFileEngine::FileFlag> xret = ((const x_QFSFileEngine*)this)->QFSFileEngine::fileFlags((QFlags<QAbstractFileEngine::FileFlag>)x[1].s_uint);
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<QAbstractFileEngine::FileFlag> xret = ((const x_QFSFileEngine*)this)->fileFlags((QFlags<QAbstractFileEngine::FileFlag>)x[1].s_uint);
            x[0].s_uint = (uint)xret;
        }
    }
    void x_22(Smoke::Stack x) {
        // bool setPermissions(unsigned int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            bool xret = this->QFSFileEngine::setPermissions((unsigned int)x[1].s_uint);
            x[0].s_bool = xret;
        } else {
            bool xret = this->setPermissions((unsigned int)x[1].s_uint);
            x[0].s_bool = xret;
        }
    }
    void x_23(Smoke::Stack x) {
        // QString fileName(QAbstractFileEngine::FileName) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            QString xret = ((const x_QFSFileEngine*)this)->QFSFileEngine::fileName((QAbstractFileEngine::FileName)x[1].s_enum);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QFSFileEngine*)this)->fileName((QAbstractFileEngine::FileName)x[1].s_enum);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_24(Smoke::Stack x) {
        // unsigned int ownerId(QAbstractFileEngine::FileOwner) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            unsigned int xret = ((const x_QFSFileEngine*)this)->QFSFileEngine::ownerId((QAbstractFileEngine::FileOwner)x[1].s_enum);
            x[0].s_uint = xret;
        } else {
            unsigned int xret = ((const x_QFSFileEngine*)this)->ownerId((QAbstractFileEngine::FileOwner)x[1].s_enum);
            x[0].s_uint = xret;
        }
    }
    void x_25(Smoke::Stack x) {
        // QString owner(QAbstractFileEngine::FileOwner) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            QString xret = ((const x_QFSFileEngine*)this)->QFSFileEngine::owner((QAbstractFileEngine::FileOwner)x[1].s_enum);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QFSFileEngine*)this)->owner((QAbstractFileEngine::FileOwner)x[1].s_enum);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_26(Smoke::Stack x) {
        // QDateTime fileTime(QAbstractFileEngine::FileTime) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            QDateTime xret = ((const x_QFSFileEngine*)this)->QFSFileEngine::fileTime((QAbstractFileEngine::FileTime)x[1].s_enum);
            x[0].s_class = (void*)new QDateTime(xret);
        } else {
            QDateTime xret = ((const x_QFSFileEngine*)this)->fileTime((QAbstractFileEngine::FileTime)x[1].s_enum);
            x[0].s_class = (void*)new QDateTime(xret);
        }
    }
    void x_27(Smoke::Stack x) {
        // void setFileName(const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            this->QFSFileEngine::setFileName(*(const QString*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setFileName(*(const QString*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_28(Smoke::Stack x) {
        // int handle() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            int xret = ((const x_QFSFileEngine*)this)->QFSFileEngine::handle();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QFSFileEngine*)this)->handle();
            x[0].s_int = xret;
        }
    }
    void x_29(Smoke::Stack x) {
        // QAbstractFileEngineIterator* beginEntryList(QFlags<QDir::Filter>, const QStringList&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            QAbstractFileEngineIterator* xret = this->QFSFileEngine::beginEntryList((QFlags<QDir::Filter>)x[1].s_uint,*(const QStringList*)x[2].s_class);
            x[0].s_class = (void*)xret;
        } else {
            QAbstractFileEngineIterator* xret = this->beginEntryList((QFlags<QDir::Filter>)x[1].s_uint,*(const QStringList*)x[2].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_30(Smoke::Stack x) {
        // QAbstractFileEngineIterator* endEntryList()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            QAbstractFileEngineIterator* xret = this->QFSFileEngine::endEntryList();
            x[0].s_class = (void*)xret;
        } else {
            QAbstractFileEngineIterator* xret = this->endEntryList();
            x[0].s_class = (void*)xret;
        }
    }
    void x_31(Smoke::Stack x) {
        // long long read(char*, long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            long long xret = this->QFSFileEngine::read((char*)x[1].s_class,*(long long*)x[2].s_class);
            x[0].s_class = (void*)new long long(xret);
        } else {
            long long xret = this->read((char*)x[1].s_class,*(long long*)x[2].s_class);
            x[0].s_class = (void*)new long long(xret);
        }
    }
    void x_32(Smoke::Stack x) {
        // long long readLine(char*, long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            long long xret = this->QFSFileEngine::readLine((char*)x[1].s_class,*(long long*)x[2].s_class);
            x[0].s_class = (void*)new long long(xret);
        } else {
            long long xret = this->readLine((char*)x[1].s_class,*(long long*)x[2].s_class);
            x[0].s_class = (void*)new long long(xret);
        }
    }
    void x_33(Smoke::Stack x) {
        // long long write(const char*, long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            long long xret = this->QFSFileEngine::write((const char*)x[1].s_class,*(long long*)x[2].s_class);
            x[0].s_class = (void*)new long long(xret);
        } else {
            long long xret = this->write((const char*)x[1].s_class,*(long long*)x[2].s_class);
            x[0].s_class = (void*)new long long(xret);
        }
    }
    void x_34(Smoke::Stack x) {
        // bool extension(QAbstractFileEngine::Extension, const QAbstractFileEngine::ExtensionOption*, QAbstractFileEngine::ExtensionReturn*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            bool xret = this->QFSFileEngine::extension((QAbstractFileEngine::Extension)x[1].s_enum,(const QAbstractFileEngine::ExtensionOption*)x[2].s_class,(QAbstractFileEngine::ExtensionReturn*)x[3].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->extension((QAbstractFileEngine::Extension)x[1].s_enum,(const QAbstractFileEngine::ExtensionOption*)x[2].s_class,(QAbstractFileEngine::ExtensionReturn*)x[3].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_35(Smoke::Stack x) {
        // bool supportsExtension(QAbstractFileEngine::Extension) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFSFileEngine*>(this))) {
            bool xret = ((const x_QFSFileEngine*)this)->QFSFileEngine::supportsExtension((QAbstractFileEngine::Extension)x[1].s_enum);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QFSFileEngine*)this)->supportsExtension((QAbstractFileEngine::Extension)x[1].s_enum);
            x[0].s_bool = xret;
        }
    }
    void x_36(Smoke::Stack x) {
        // bool open(QFlags<QIODevice::OpenModeFlag>, int)
        bool xret = this->QFSFileEngine::open((QFlags<QIODevice::OpenModeFlag>)x[1].s_uint,(int)x[2].s_int);
        x[0].s_bool = xret;
    }
    void x_37(Smoke::Stack x) {
        // bool open(QFlags<QIODevice::OpenModeFlag>, int, QFlags<QFile::FileHandleFlag>)
        bool xret = this->QFSFileEngine::open((QFlags<QIODevice::OpenModeFlag>)x[1].s_uint,(int)x[2].s_int,(QFlags<QFile::FileHandleFlag>)x[3].s_uint);
        x[0].s_bool = xret;
    }
    void x_38(Smoke::Stack x) {
        // bool open(QFlags<QIODevice::OpenModeFlag>, FILE*, QFlags<QFile::FileHandleFlag>)
        bool xret = this->QFSFileEngine::open((QFlags<QIODevice::OpenModeFlag>)x[1].s_uint,(FILE*)x[2].s_class,(QFlags<QFile::FileHandleFlag>)x[3].s_uint);
        x[0].s_bool = xret;
    }
    static void x_39(Smoke::Stack x) {
        // static bool setCurrentPath(const QString&)
        bool xret = QFSFileEngine::setCurrentPath(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_40(Smoke::Stack x) {
        // static QString currentPath(const QString&)
        QString xret = QFSFileEngine::currentPath(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_41(Smoke::Stack x) {
        // static QString homePath()
        QString xret = QFSFileEngine::homePath();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_42(Smoke::Stack x) {
        // static QString rootPath()
        QString xret = QFSFileEngine::rootPath();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_43(Smoke::Stack x) {
        // static QString tempPath()
        QString xret = QFSFileEngine::tempPath();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_44(Smoke::Stack x) {
        // static QList<QFileInfo> drives()
        QList<QFileInfo> xret = QFSFileEngine::drives();
        x[0].s_class = (void*)new QList<QFileInfo>(xret);
    }
    void x_45(Smoke::Stack x) {
        // bool extension(QAbstractFileEngine::Extension)
        bool xret = this->QFSFileEngine::extension((QAbstractFileEngine::Extension)x[1].s_enum,(const QAbstractFileEngine::ExtensionOption*)0,(QAbstractFileEngine::ExtensionReturn*)0);
        x[0].s_bool = xret;
    }
    void x_46(Smoke::Stack x) {
        // bool extension(QAbstractFileEngine::Extension, const QAbstractFileEngine::ExtensionOption*)
        bool xret = this->QFSFileEngine::extension((QAbstractFileEngine::Extension)x[1].s_enum,(const QAbstractFileEngine::ExtensionOption*)x[2].s_class,(QAbstractFileEngine::ExtensionReturn*)0);
        x[0].s_bool = xret;
    }
    static void x_47(Smoke::Stack x) {
        // static QString currentPath()
        QString xret = QFSFileEngine::currentPath((const QString&)QString());
        x[0].s_class = (void*)new QString(xret);
    }
    virtual bool open(QFlags<QIODevice::OpenModeFlag> x1) {
        Smoke::StackItem x[2];
        x[1].s_uint = (uint)x1;
        if (this->_binding->callMethod(1716, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFSFileEngine::open(x1);
    }
    virtual bool close() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1718, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFSFileEngine::close();
    }
    virtual bool flush() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1719, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFSFileEngine::flush();
    }
    virtual long long size() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1720, (void*)this, x)) {
            long long* xptr = (long long*)x[0].s_class;
            long long xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QFSFileEngine::size();
    }
    virtual long long pos() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1721, (void*)this, x)) {
            long long* xptr = (long long*)x[0].s_class;
            long long xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QFSFileEngine::pos();
    }
    virtual bool seek(long long x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)new long long(x1);
        if (this->_binding->callMethod(1722, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFSFileEngine::seek(x1);
    }
    virtual bool isSequential() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1723, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFSFileEngine::isSequential();
    }
    virtual bool remove() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1724, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFSFileEngine::remove();
    }
    virtual bool copy(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1725, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFSFileEngine::copy(x1);
    }
    virtual bool rename(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1726, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFSFileEngine::rename(x1);
    }
    virtual bool link(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1727, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFSFileEngine::link(x1);
    }
    virtual bool mkdir(const QString& x1, bool x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(1728, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFSFileEngine::mkdir(x1, x2);
    }
    virtual bool rmdir(const QString& x1, bool x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(1729, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFSFileEngine::rmdir(x1, x2);
    }
    virtual bool setSize(long long x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)new long long(x1);
        if (this->_binding->callMethod(1730, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFSFileEngine::setSize(x1);
    }
    virtual bool caseSensitive() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1731, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFSFileEngine::caseSensitive();
    }
    virtual bool isRelativePath() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1732, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFSFileEngine::isRelativePath();
    }
    virtual QStringList entryList(QFlags<QDir::Filter> x1, const QStringList& x2) const {
        Smoke::StackItem x[3];
        x[1].s_uint = (uint)x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1733, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QFSFileEngine::entryList(x1, x2);
    }
    virtual QFlags<QAbstractFileEngine::FileFlag> fileFlags(QFlags<QAbstractFileEngine::FileFlag> x1) const {
        Smoke::StackItem x[2];
        x[1].s_uint = (uint)x1;
        if (this->_binding->callMethod(1734, (void*)this, x)) return (QFlags<QAbstractFileEngine::FileFlag>)x[0].s_uint;
        return this->QFSFileEngine::fileFlags(x1);
    }
    virtual bool setPermissions(unsigned int x1) {
        Smoke::StackItem x[2];
        x[1].s_uint = x1;
        if (this->_binding->callMethod(1735, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFSFileEngine::setPermissions(x1);
    }
    virtual QString fileName(QAbstractFileEngine::FileName x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(1736, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QFSFileEngine::fileName(x1);
    }
    virtual unsigned int ownerId(QAbstractFileEngine::FileOwner x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(1737, (void*)this, x)) return (unsigned int)x[0].s_uint;
        return this->QFSFileEngine::ownerId(x1);
    }
    virtual QString owner(QAbstractFileEngine::FileOwner x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(1738, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QFSFileEngine::owner(x1);
    }
    virtual QDateTime fileTime(QAbstractFileEngine::FileTime x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(1739, (void*)this, x)) {
            QDateTime* xptr = (QDateTime*)x[0].s_class;
            QDateTime xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QFSFileEngine::fileTime(x1);
    }
    virtual void setFileName(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1740, (void*)this, x)) return;
        this->QFSFileEngine::setFileName(x1);
    }
    virtual int handle() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1741, (void*)this, x)) return (int)x[0].s_int;
        return this->QFSFileEngine::handle();
    }
    virtual QAbstractFileEngineIterator* beginEntryList(QFlags<QDir::Filter> x1, const QStringList& x2) {
        Smoke::StackItem x[3];
        x[1].s_uint = (uint)x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1742, (void*)this, x)) return (QAbstractFileEngineIterator*)x[0].s_class;
        return this->QFSFileEngine::beginEntryList(x1, x2);
    }
    virtual QAbstractFileEngineIterator* endEntryList() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1743, (void*)this, x)) return (QAbstractFileEngineIterator*)x[0].s_class;
        return this->QFSFileEngine::endEntryList();
    }
    virtual long long read(char* x1, long long x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)new long long(x2);
        if (this->_binding->callMethod(1744, (void*)this, x)) {
            long long* xptr = (long long*)x[0].s_class;
            long long xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QFSFileEngine::read(x1, x2);
    }
    virtual long long readLine(char* x1, long long x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)new long long(x2);
        if (this->_binding->callMethod(1745, (void*)this, x)) {
            long long* xptr = (long long*)x[0].s_class;
            long long xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QFSFileEngine::readLine(x1, x2);
    }
    virtual long long write(const char* x1, long long x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)new long long(x2);
        if (this->_binding->callMethod(1746, (void*)this, x)) {
            long long* xptr = (long long*)x[0].s_class;
            long long xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QFSFileEngine::write(x1, x2);
    }
    virtual bool extension(QAbstractFileEngine::Extension x1, const QAbstractFileEngine::ExtensionOption* x2, QAbstractFileEngine::ExtensionReturn* x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(1747, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFSFileEngine::extension(x1, x2, x3);
    }
    virtual bool supportsExtension(QAbstractFileEngine::Extension x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(1748, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFSFileEngine::supportsExtension(x1);
    }
    ~x_QFSFileEngine() { this->_binding->deleted(45, (void*)this); }
};
void xcall_QFSFileEngine(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QFSFileEngine *xself = (x_QFSFileEngine*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QFSFileEngine::x_1(args);	break;
        case 2: x_QFSFileEngine::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: 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_QFSFileEngine::x_39(args);	break;
        case 40: x_QFSFileEngine::x_40(args);	break;
        case 41: x_QFSFileEngine::x_41(args);	break;
        case 42: x_QFSFileEngine::x_42(args);	break;
        case 43: x_QFSFileEngine::x_43(args);	break;
        case 44: x_QFSFileEngine::x_44(args);	break;
        case 45: xself->x_45(args);	break;
        case 46: xself->x_46(args);	break;
        case 47: x_QFSFileEngine::x_47(args);	break;
        case 48: delete (QFSFileEngine*)xself;	break;
    }
}
class x_QFactoryInterface : public QFactoryInterface, 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 QStringList keys() const = 0
        QStringList xret = ((const x_QFactoryInterface*)this)->keys();
        x[0].s_class = (void*)new QStringList(xret);
    }
    static void x_2(Smoke::Stack x) {
        // QFactoryInterface* QFactoryInterface()
        x_QFactoryInterface* xret = new x_QFactoryInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_QFactoryInterface() : QFactoryInterface() {}
    static void x_3(Smoke::Stack x) {
        // QFactoryInterface* QFactoryInterface(const QFactoryInterface&)
        x_QFactoryInterface* xret = new x_QFactoryInterface(*(const QFactoryInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QFactoryInterface(const QFactoryInterface& x1) : QFactoryInterface(x1) {}
    virtual QStringList keys() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1762, (void*)this, x, true /*pure virtual*/);
        QStringList* xptr = (QStringList*)x[0].s_class;
        QStringList xret(*xptr);
        delete xptr;
        return xret;
    }
    ~x_QFactoryInterface() { this->_binding->deleted(46, (void*)this); }
};
void xcall_QFactoryInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QFactoryInterface *xself = (x_QFactoryInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: x_QFactoryInterface::x_2(args);	break;
        case 3: x_QFactoryInterface::x_3(args);	break;
        case 4: delete (QFactoryInterface*)xself;	break;
    }
}
class x_QFile : public QFile, 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<QFile*>(this))) {
            const QMetaObject* xret = ((const x_QFile*)this)->QFile::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QFile*)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<QFile*>(this))) {
            void* xret = this->QFile::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 = QFile::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 = QFile::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 = QFile::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 = QFile::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<QFile*>(this))) {
            int xret = this->QFile::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) {
        // QFile* QFile()
        x_QFile* xret = new x_QFile();
        x[0].s_class = (void*)xret;
    }
    explicit x_QFile() : QFile() {}
    static void x_9(Smoke::Stack x) {
        // QFile* QFile(const QString&)
        x_QFile* xret = new x_QFile(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QFile(const QString& x1) : QFile(x1) {}
    static void x_10(Smoke::Stack x) {
        // QFile* QFile(QObject*)
        x_QFile* xret = new x_QFile((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QFile(QObject* x1) : QFile(x1) {}
    static void x_11(Smoke::Stack x) {
        // QFile* QFile(const QString&, QObject*)
        x_QFile* xret = new x_QFile(*(const QString*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QFile(const QString& x1, QObject* x2) : QFile(x1, x2) {}
    void x_12(Smoke::Stack x) {
        // QFile::FileError error() const
        QFile::FileError xret = ((const x_QFile*)this)->QFile::error();
        x[0].s_enum = xret;
    }
    void x_13(Smoke::Stack x) {
        // void unsetError()
        this->QFile::unsetError();
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // QString fileName() const
        QString xret = ((const x_QFile*)this)->QFile::fileName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_15(Smoke::Stack x) {
        // void setFileName(const QString&)
        this->QFile::setFileName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_16(Smoke::Stack x) {
        // static QByteArray encodeName(const QString&)
        QByteArray xret = QFile::encodeName(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QByteArray(xret);
    }
    static void x_17(Smoke::Stack x) {
        // static QString decodeName(const QByteArray&)
        QString xret = QFile::decodeName(*(const QByteArray*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_18(Smoke::Stack x) {
        // static QString decodeName(const char*)
        QString xret = QFile::decodeName((const char*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_19(Smoke::Stack x) {
        // static void setEncodingFunction(QByteArray(*)(const QString&))
        QFile::setEncodingFunction((QByteArray(*)(const QString&))x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_20(Smoke::Stack x) {
        // static void setDecodingFunction(QString(*)(const QByteArray&))
        QFile::setDecodingFunction((QString(*)(const QByteArray&))x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // bool exists() const
        bool xret = ((const x_QFile*)this)->QFile::exists();
        x[0].s_bool = xret;
    }
    static void x_22(Smoke::Stack x) {
        // static bool exists(const QString&)
        bool xret = QFile::exists(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_23(Smoke::Stack x) {
        // QString readLink() const
        QString xret = ((const x_QFile*)this)->QFile::readLink();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_24(Smoke::Stack x) {
        // static QString readLink(const QString&)
        QString xret = QFile::readLink(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_25(Smoke::Stack x) {
        // QString symLinkTarget() const
        QString xret = ((const x_QFile*)this)->QFile::symLinkTarget();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_26(Smoke::Stack x) {
        // static QString symLinkTarget(const QString&)
        QString xret = QFile::symLinkTarget(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_27(Smoke::Stack x) {
        // bool remove()
        bool xret = this->QFile::remove();
        x[0].s_bool = xret;
    }
    static void x_28(Smoke::Stack x) {
        // static bool remove(const QString&)
        bool xret = QFile::remove(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_29(Smoke::Stack x) {
        // bool rename(const QString&)
        bool xret = this->QFile::rename(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_30(Smoke::Stack x) {
        // static bool rename(const QString&, const QString&)
        bool xret = QFile::rename(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_31(Smoke::Stack x) {
        // bool link(const QString&)
        bool xret = this->QFile::link(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_32(Smoke::Stack x) {
        // static bool link(const QString&, const QString&)
        bool xret = QFile::link(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_33(Smoke::Stack x) {
        // bool copy(const QString&)
        bool xret = this->QFile::copy(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_34(Smoke::Stack x) {
        // static bool copy(const QString&, const QString&)
        bool xret = QFile::copy(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_35(Smoke::Stack x) {
        // bool isSequential() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFile*>(this))) {
            bool xret = ((const x_QFile*)this)->QFile::isSequential();
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QFile*)this)->isSequential();
            x[0].s_bool = xret;
        }
    }
    void x_36(Smoke::Stack x) {
        // bool open(QFlags<QIODevice::OpenModeFlag>)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFile*>(this))) {
            bool xret = this->QFile::open((QFlags<QIODevice::OpenModeFlag>)x[1].s_uint);
            x[0].s_bool = xret;
        } else {
            bool xret = this->open((QFlags<QIODevice::OpenModeFlag>)x[1].s_uint);
            x[0].s_bool = xret;
        }
    }
    void x_37(Smoke::Stack x) {
        // bool open(FILE*, QFlags<QIODevice::OpenModeFlag>)
        bool xret = this->QFile::open((FILE*)x[1].s_class,(QFlags<QIODevice::OpenModeFlag>)x[2].s_uint);
        x[0].s_bool = xret;
    }
    void x_38(Smoke::Stack x) {
        // bool open(int, QFlags<QIODevice::OpenModeFlag>)
        bool xret = this->QFile::open((int)x[1].s_int,(QFlags<QIODevice::OpenModeFlag>)x[2].s_uint);
        x[0].s_bool = xret;
    }
    void x_39(Smoke::Stack x) {
        // bool open(FILE*, QFlags<QIODevice::OpenModeFlag>, QFlags<QFile::FileHandleFlag>)
        bool xret = this->QFile::open((FILE*)x[1].s_class,(QFlags<QIODevice::OpenModeFlag>)x[2].s_uint,(QFlags<QFile::FileHandleFlag>)x[3].s_uint);
        x[0].s_bool = xret;
    }
    void x_40(Smoke::Stack x) {
        // bool open(int, QFlags<QIODevice::OpenModeFlag>, QFlags<QFile::FileHandleFlag>)
        bool xret = this->QFile::open((int)x[1].s_int,(QFlags<QIODevice::OpenModeFlag>)x[2].s_uint,(QFlags<QFile::FileHandleFlag>)x[3].s_uint);
        x[0].s_bool = xret;
    }
    void x_41(Smoke::Stack x) {
        // virtual void close()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFile*>(this))) {
            this->QFile::close();
            (void)x; // noop (for compiler warning)
        } else {
            this->close();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_42(Smoke::Stack x) {
        // long long size() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFile*>(this))) {
            long long xret = ((const x_QFile*)this)->QFile::size();
            x[0].s_class = (void*)new long long(xret);
        } else {
            long long xret = ((const x_QFile*)this)->size();
            x[0].s_class = (void*)new long long(xret);
        }
    }
    void x_43(Smoke::Stack x) {
        // long long pos() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFile*>(this))) {
            long long xret = ((const x_QFile*)this)->QFile::pos();
            x[0].s_class = (void*)new long long(xret);
        } else {
            long long xret = ((const x_QFile*)this)->pos();
            x[0].s_class = (void*)new long long(xret);
        }
    }
    void x_44(Smoke::Stack x) {
        // bool seek(long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFile*>(this))) {
            bool xret = this->QFile::seek(*(long long*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->seek(*(long long*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_45(Smoke::Stack x) {
        // bool atEnd() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFile*>(this))) {
            bool xret = ((const x_QFile*)this)->QFile::atEnd();
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QFile*)this)->atEnd();
            x[0].s_bool = xret;
        }
    }
    void x_46(Smoke::Stack x) {
        // bool flush()
        bool xret = this->QFile::flush();
        x[0].s_bool = xret;
    }
    void x_47(Smoke::Stack x) {
        // bool resize(long long)
        bool xret = this->QFile::resize(*(long long*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_48(Smoke::Stack x) {
        // static bool resize(const QString&, long long)
        bool xret = QFile::resize(*(const QString*)x[1].s_class,*(long long*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_49(Smoke::Stack x) {
        // QFlags<QFile::Permission> permissions() const
        QFlags<QFile::Permission> xret = ((const x_QFile*)this)->QFile::permissions();
        x[0].s_uint = (uint)xret;
    }
    static void x_50(Smoke::Stack x) {
        // static QFlags<QFile::Permission> permissions(const QString&)
        QFlags<QFile::Permission> xret = QFile::permissions(*(const QString*)x[1].s_class);
        x[0].s_uint = (uint)xret;
    }
    void x_51(Smoke::Stack x) {
        // bool setPermissions(QFlags<QFile::Permission>)
        bool xret = this->QFile::setPermissions((QFlags<QFile::Permission>)x[1].s_uint);
        x[0].s_bool = xret;
    }
    static void x_52(Smoke::Stack x) {
        // static bool setPermissions(const QString&, QFlags<QFile::Permission>)
        bool xret = QFile::setPermissions(*(const QString*)x[1].s_class,(QFlags<QFile::Permission>)x[2].s_uint);
        x[0].s_bool = xret;
    }
    void x_53(Smoke::Stack x) {
        // int handle() const
        int xret = ((const x_QFile*)this)->QFile::handle();
        x[0].s_int = xret;
    }
    void x_54(Smoke::Stack x) {
        // unsigned char* map(long long, long long, QFile::MemoryMapFlags)
        unsigned char* xret = this->QFile::map(*(long long*)x[1].s_class,*(long long*)x[2].s_class,(QFile::MemoryMapFlags)x[3].s_enum);
        x[0].s_class = (void*)xret;
    }
    void x_55(Smoke::Stack x) {
        // bool unmap(unsigned char*)
        bool xret = this->QFile::unmap((unsigned char*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_56(Smoke::Stack x) {
        // virtual QAbstractFileEngine* fileEngine() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFile*>(this))) {
            QAbstractFileEngine* xret = ((const x_QFile*)this)->QFile::fileEngine();
            x[0].s_class = (void*)xret;
        } else {
            QAbstractFileEngine* xret = ((const x_QFile*)this)->fileEngine();
            x[0].s_class = (void*)xret;
        }
    }
    void x_57(Smoke::Stack x) {
        // long long readData(char*, long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFile*>(this))) {
            long long xret = this->QFile::readData((char*)x[1].s_class,*(long long*)x[2].s_class);
            x[0].s_class = (void*)new long long(xret);
        } else {
            long long xret = this->readData((char*)x[1].s_class,*(long long*)x[2].s_class);
            x[0].s_class = (void*)new long long(xret);
        }
    }
    void x_58(Smoke::Stack x) {
        // long long writeData(const char*, long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFile*>(this))) {
            long long xret = this->QFile::writeData((const char*)x[1].s_class,*(long long*)x[2].s_class);
            x[0].s_class = (void*)new long long(xret);
        } else {
            long long xret = this->writeData((const char*)x[1].s_class,*(long long*)x[2].s_class);
            x[0].s_class = (void*)new long long(xret);
        }
    }
    void x_59(Smoke::Stack x) {
        // long long readLineData(char*, long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFile*>(this))) {
            long long xret = this->QFile::readLineData((char*)x[1].s_class,*(long long*)x[2].s_class);
            x[0].s_class = (void*)new long long(xret);
        } else {
            long long xret = this->readLineData((char*)x[1].s_class,*(long long*)x[2].s_class);
            x[0].s_class = (void*)new long long(xret);
        }
    }
    static void x_60(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QFile::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_61(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QFile::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_62(Smoke::Stack x) {
        // unsigned char* map(long long, long long)
        unsigned char* xret = this->QFile::map(*(long long*)x[1].s_class,*(long long*)x[2].s_class,(QFile::MemoryMapFlags)QFile::NoOptions);
        x[0].s_class = (void*)xret;
    }
    static void x_63(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QFile::staticMetaObject;
    }
    static void x_64(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::NoError;
    }
    static void x_65(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::ReadError;
    }
    static void x_66(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::WriteError;
    }
    static void x_67(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::FatalError;
    }
    static void x_68(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::ResourceError;
    }
    static void x_69(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::OpenError;
    }
    static void x_70(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::AbortError;
    }
    static void x_71(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::TimeOutError;
    }
    static void x_72(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::UnspecifiedError;
    }
    static void x_73(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::RemoveError;
    }
    static void x_74(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::RenameError;
    }
    static void x_75(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::PositionError;
    }
    static void x_76(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::ResizeError;
    }
    static void x_77(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::PermissionsError;
    }
    static void x_78(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::CopyError;
    }
    static void x_79(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::ReadOwner;
    }
    static void x_80(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::WriteOwner;
    }
    static void x_81(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::ExeOwner;
    }
    static void x_82(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::ReadUser;
    }
    static void x_83(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::WriteUser;
    }
    static void x_84(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::ExeUser;
    }
    static void x_85(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::ReadGroup;
    }
    static void x_86(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::WriteGroup;
    }
    static void x_87(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::ExeGroup;
    }
    static void x_88(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::ReadOther;
    }
    static void x_89(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::WriteOther;
    }
    static void x_90(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::ExeOther;
    }
    static void x_91(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::AutoCloseHandle;
    }
    static void x_92(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::DontCloseHandle;
    }
    static void x_93(Smoke::Stack x) {
        x[0].s_enum = (long)QFile::NoOptions;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1766, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QFile::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1767, (void*)this, x)) return (void*)x[0].s_class;
        return this->QFile::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(1772, (void*)this, x)) return (int)x[0].s_int;
        return this->QFile::qt_metacall(x1, x2, x3);
    }
    virtual void close() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1806, (void*)this, x)) return;
        this->QFile::close();
    }
    virtual QAbstractFileEngine* fileEngine() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1821, (void*)this, x)) return (QAbstractFileEngine*)x[0].s_class;
        return this->QFile::fileEngine();
    }
    virtual bool isSequential() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1800, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFile::isSequential();
    }
    virtual bool open(QFlags<QIODevice::OpenModeFlag> x1) {
        Smoke::StackItem x[2];
        x[1].s_uint = (uint)x1;
        if (this->_binding->callMethod(1801, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFile::open(x1);
    }
    virtual long long pos() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1808, (void*)this, x)) {
            long long* xptr = (long long*)x[0].s_class;
            long long xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QFile::pos();
    }
    virtual long long size() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1807, (void*)this, x)) {
            long long* xptr = (long long*)x[0].s_class;
            long long xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QFile::size();
    }
    virtual bool seek(long long x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)new long long(x1);
        if (this->_binding->callMethod(1809, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFile::seek(x1);
    }
    virtual bool atEnd() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1810, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFile::atEnd();
    }
    virtual bool reset() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2520, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QIODevice::reset();
    }
    virtual long long bytesAvailable() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2521, (void*)this, x)) {
            long long* xptr = (long long*)x[0].s_class;
            long long xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QIODevice::bytesAvailable();
    }
    virtual long long bytesToWrite() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2522, (void*)this, x)) {
            long long* xptr = (long long*)x[0].s_class;
            long long xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QIODevice::bytesToWrite();
    }
    virtual bool canReadLine() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2528, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QIODevice::canReadLine();
    }
    virtual bool waitForReadyRead(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2534, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QIODevice::waitForReadyRead(x1);
    }
    virtual bool waitForBytesWritten(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2535, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QIODevice::waitForBytesWritten(x1);
    }
    virtual long long readData(char* x1, long long x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)new long long(x2);
        if (this->_binding->callMethod(1822, (void*)this, x)) {
            long long* xptr = (long long*)x[0].s_class;
            long long xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QFile::readData(x1, x2);
    }
    virtual long long readLineData(char* x1, long long x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)new long long(x2);
        if (this->_binding->callMethod(1824, (void*)this, x)) {
            long long* xptr = (long long*)x[0].s_class;
            long long xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QFile::readLineData(x1, x2);
    }
    virtual long long writeData(const char* x1, long long x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)new long long(x2);
        if (this->_binding->callMethod(1823, (void*)this, x)) {
            long long* xptr = (long long*)x[0].s_class;
            long long xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QFile::writeData(x1, x2);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3804, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::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 107: //QFile::FileError
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QFile::FileError;
                    break;
                case Smoke::EnumDelete:
                    delete (QFile::FileError*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QFile::FileError*)xdata = (QFile::FileError)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QFile::FileError*)xdata;
                    break;
            }
            break;
        case 110: //QFile::Permission
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QFile::Permission;
                    break;
                case Smoke::EnumDelete:
                    delete (QFile::Permission*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QFile::Permission*)xdata = (QFile::Permission)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QFile::Permission*)xdata;
                    break;
            }
            break;
        case 108: //QFile::FileHandleFlag
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QFile::FileHandleFlag;
                    break;
                case Smoke::EnumDelete:
                    delete (QFile::FileHandleFlag*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QFile::FileHandleFlag*)xdata = (QFile::FileHandleFlag)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QFile::FileHandleFlag*)xdata;
                    break;
            }
            break;
        case 109: //QFile::MemoryMapFlags
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QFile::MemoryMapFlags;
                    break;
                case Smoke::EnumDelete:
                    delete (QFile::MemoryMapFlags*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QFile::MemoryMapFlags*)xdata = (QFile::MemoryMapFlags)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QFile::MemoryMapFlags*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QFile() { this->_binding->deleted(47, (void*)this); }
};
void xenum_QFile(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QFile::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QFile(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QFile *xself = (x_QFile*)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_QFile::x_3(args);	break;
        case 4: x_QFile::x_4(args);	break;
        case 5: x_QFile::x_5(args);	break;
        case 6: x_QFile::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QFile::x_8(args);	break;
        case 9: x_QFile::x_9(args);	break;
        case 10: x_QFile::x_10(args);	break;
        case 11: x_QFile::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: x_QFile::x_16(args);	break;
        case 17: x_QFile::x_17(args);	break;
        case 18: x_QFile::x_18(args);	break;
        case 19: x_QFile::x_19(args);	break;
        case 20: x_QFile::x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: x_QFile::x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: x_QFile::x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: x_QFile::x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: x_QFile::x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: x_QFile::x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: x_QFile::x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: x_QFile::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: xself->x_47(args);	break;
        case 48: x_QFile::x_48(args);	break;
        case 49: xself->x_49(args);	break;
        case 50: x_QFile::x_50(args);	break;
        case 51: xself->x_51(args);	break;
        case 52: x_QFile::x_52(args);	break;
        case 53: xself->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: xself->x_58(args);	break;
        case 59: xself->x_59(args);	break;
        case 60: x_QFile::x_60(args);	break;
        case 61: x_QFile::x_61(args);	break;
        case 62: xself->x_62(args);	break;
        case 63: x_QFile::x_63(args);	break;
        case 64: x_QFile::x_64(args);	break;
        case 65: x_QFile::x_65(args);	break;
        case 66: x_QFile::x_66(args);	break;
        case 67: x_QFile::x_67(args);	break;
        case 68: x_QFile::x_68(args);	break;
        case 69: x_QFile::x_69(args);	break;
        case 70: x_QFile::x_70(args);	break;
        case 71: x_QFile::x_71(args);	break;
        case 72: x_QFile::x_72(args);	break;
        case 73: x_QFile::x_73(args);	break;
        case 74: x_QFile::x_74(args);	break;
        case 75: x_QFile::x_75(args);	break;
        case 76: x_QFile::x_76(args);	break;
        case 77: x_QFile::x_77(args);	break;
        case 78: x_QFile::x_78(args);	break;
        case 79: x_QFile::x_79(args);	break;
        case 80: x_QFile::x_80(args);	break;
        case 81: x_QFile::x_81(args);	break;
        case 82: x_QFile::x_82(args);	break;
        case 83: x_QFile::x_83(args);	break;
        case 84: x_QFile::x_84(args);	break;
        case 85: x_QFile::x_85(args);	break;
        case 86: x_QFile::x_86(args);	break;
        case 87: x_QFile::x_87(args);	break;
        case 88: x_QFile::x_88(args);	break;
        case 89: x_QFile::x_89(args);	break;
        case 90: x_QFile::x_90(args);	break;
        case 91: x_QFile::x_91(args);	break;
        case 92: x_QFile::x_92(args);	break;
        case 93: x_QFile::x_93(args);	break;
        case 94: delete (QFile*)xself;	break;
    }
}
class x_QFileInfo : public QFileInfo {
    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) {
        // QFileInfo* QFileInfo()
        x_QFileInfo* xret = new x_QFileInfo();
        x[0].s_class = (void*)xret;
    }
    explicit x_QFileInfo() : QFileInfo() {}
    static void x_2(Smoke::Stack x) {
        // QFileInfo* QFileInfo(const QString&)
        x_QFileInfo* xret = new x_QFileInfo(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QFileInfo(const QString& x1) : QFileInfo(x1) {}
    static void x_3(Smoke::Stack x) {
        // QFileInfo* QFileInfo(const QFile&)
        x_QFileInfo* xret = new x_QFileInfo(*(const QFile*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QFileInfo(const QFile& x1) : QFileInfo(x1) {}
    static void x_4(Smoke::Stack x) {
        // QFileInfo* QFileInfo(const QDir&, const QString&)
        x_QFileInfo* xret = new x_QFileInfo(*(const QDir*)x[1].s_class,*(const QString*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QFileInfo(const QDir& x1, const QString& x2) : QFileInfo(x1, x2) {}
    static void x_5(Smoke::Stack x) {
        // QFileInfo* QFileInfo(const QFileInfo&)
        x_QFileInfo* xret = new x_QFileInfo(*(const QFileInfo*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QFileInfo(const QFileInfo& x1) : QFileInfo(x1) {}
    void x_6(Smoke::Stack x) {
        // QFileInfo& operator=(const QFileInfo&)
        QFileInfo& xret = this->QFileInfo::operator=(*(const QFileInfo*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_7(Smoke::Stack x) {
        // bool operator==(const QFileInfo&)
        bool xret = this->QFileInfo::operator==(*(const QFileInfo*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_8(Smoke::Stack x) {
        // bool operator==(const QFileInfo&) const
        bool xret = ((const x_QFileInfo*)this)->QFileInfo::operator==(*(const QFileInfo*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_9(Smoke::Stack x) {
        // bool operator!=(const QFileInfo&)
        bool xret = this->QFileInfo::operator!=(*(const QFileInfo*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // bool operator!=(const QFileInfo&) const
        bool xret = ((const x_QFileInfo*)this)->QFileInfo::operator!=(*(const QFileInfo*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // void setFile(const QString&)
        this->QFileInfo::setFile(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void setFile(const QFile&)
        this->QFileInfo::setFile(*(const QFile*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // void setFile(const QDir&, const QString&)
        this->QFileInfo::setFile(*(const QDir*)x[1].s_class,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // bool exists() const
        bool xret = ((const x_QFileInfo*)this)->QFileInfo::exists();
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // void refresh()
        this->QFileInfo::refresh();
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // QString filePath() const
        QString xret = ((const x_QFileInfo*)this)->QFileInfo::filePath();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_17(Smoke::Stack x) {
        // QString absoluteFilePath() const
        QString xret = ((const x_QFileInfo*)this)->QFileInfo::absoluteFilePath();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_18(Smoke::Stack x) {
        // QString canonicalFilePath() const
        QString xret = ((const x_QFileInfo*)this)->QFileInfo::canonicalFilePath();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_19(Smoke::Stack x) {
        // QString fileName() const
        QString xret = ((const x_QFileInfo*)this)->QFileInfo::fileName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_20(Smoke::Stack x) {
        // QString baseName() const
        QString xret = ((const x_QFileInfo*)this)->QFileInfo::baseName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_21(Smoke::Stack x) {
        // QString completeBaseName() const
        QString xret = ((const x_QFileInfo*)this)->QFileInfo::completeBaseName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_22(Smoke::Stack x) {
        // QString suffix() const
        QString xret = ((const x_QFileInfo*)this)->QFileInfo::suffix();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_23(Smoke::Stack x) {
        // QString bundleName() const
        QString xret = ((const x_QFileInfo*)this)->QFileInfo::bundleName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_24(Smoke::Stack x) {
        // QString completeSuffix() const
        QString xret = ((const x_QFileInfo*)this)->QFileInfo::completeSuffix();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_25(Smoke::Stack x) {
        // QString path() const
        QString xret = ((const x_QFileInfo*)this)->QFileInfo::path();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_26(Smoke::Stack x) {
        // QString absolutePath() const
        QString xret = ((const x_QFileInfo*)this)->QFileInfo::absolutePath();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_27(Smoke::Stack x) {
        // QString canonicalPath() const
        QString xret = ((const x_QFileInfo*)this)->QFileInfo::canonicalPath();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_28(Smoke::Stack x) {
        // QDir dir() const
        QDir xret = ((const x_QFileInfo*)this)->QFileInfo::dir();
        x[0].s_class = (void*)new QDir(xret);
    }
    void x_29(Smoke::Stack x) {
        // QDir absoluteDir() const
        QDir xret = ((const x_QFileInfo*)this)->QFileInfo::absoluteDir();
        x[0].s_class = (void*)new QDir(xret);
    }
    void x_30(Smoke::Stack x) {
        // bool isReadable() const
        bool xret = ((const x_QFileInfo*)this)->QFileInfo::isReadable();
        x[0].s_bool = xret;
    }
    void x_31(Smoke::Stack x) {
        // bool isWritable() const
        bool xret = ((const x_QFileInfo*)this)->QFileInfo::isWritable();
        x[0].s_bool = xret;
    }
    void x_32(Smoke::Stack x) {
        // bool isExecutable() const
        bool xret = ((const x_QFileInfo*)this)->QFileInfo::isExecutable();
        x[0].s_bool = xret;
    }
    void x_33(Smoke::Stack x) {
        // bool isHidden() const
        bool xret = ((const x_QFileInfo*)this)->QFileInfo::isHidden();
        x[0].s_bool = xret;
    }
    void x_34(Smoke::Stack x) {
        // bool isRelative() const
        bool xret = ((const x_QFileInfo*)this)->QFileInfo::isRelative();
        x[0].s_bool = xret;
    }
    void x_35(Smoke::Stack x) {
        // bool isAbsolute() const
        bool xret = ((const x_QFileInfo*)this)->QFileInfo::isAbsolute();
        x[0].s_bool = xret;
    }
    void x_36(Smoke::Stack x) {
        // bool makeAbsolute()
        bool xret = this->QFileInfo::makeAbsolute();
        x[0].s_bool = xret;
    }
    void x_37(Smoke::Stack x) {
        // bool isFile() const
        bool xret = ((const x_QFileInfo*)this)->QFileInfo::isFile();
        x[0].s_bool = xret;
    }
    void x_38(Smoke::Stack x) {
        // bool isDir() const
        bool xret = ((const x_QFileInfo*)this)->QFileInfo::isDir();
        x[0].s_bool = xret;
    }
    void x_39(Smoke::Stack x) {
        // bool isSymLink() const
        bool xret = ((const x_QFileInfo*)this)->QFileInfo::isSymLink();
        x[0].s_bool = xret;
    }
    void x_40(Smoke::Stack x) {
        // bool isRoot() const
        bool xret = ((const x_QFileInfo*)this)->QFileInfo::isRoot();
        x[0].s_bool = xret;
    }
    void x_41(Smoke::Stack x) {
        // bool isBundle() const
        bool xret = ((const x_QFileInfo*)this)->QFileInfo::isBundle();
        x[0].s_bool = xret;
    }
    void x_42(Smoke::Stack x) {
        // QString readLink() const
        QString xret = ((const x_QFileInfo*)this)->QFileInfo::readLink();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_43(Smoke::Stack x) {
        // QString symLinkTarget() const
        QString xret = ((const x_QFileInfo*)this)->QFileInfo::symLinkTarget();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_44(Smoke::Stack x) {
        // QString owner() const
        QString xret = ((const x_QFileInfo*)this)->QFileInfo::owner();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_45(Smoke::Stack x) {
        // unsigned int ownerId() const
        unsigned int xret = ((const x_QFileInfo*)this)->QFileInfo::ownerId();
        x[0].s_uint = xret;
    }
    void x_46(Smoke::Stack x) {
        // QString group() const
        QString xret = ((const x_QFileInfo*)this)->QFileInfo::group();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_47(Smoke::Stack x) {
        // unsigned int groupId() const
        unsigned int xret = ((const x_QFileInfo*)this)->QFileInfo::groupId();
        x[0].s_uint = xret;
    }
    void x_48(Smoke::Stack x) {
        // bool permission(QFlags<QFile::Permission>) const
        bool xret = ((const x_QFileInfo*)this)->QFileInfo::permission((QFlags<QFile::Permission>)x[1].s_uint);
        x[0].s_bool = xret;
    }
    void x_49(Smoke::Stack x) {
        // QFlags<QFile::Permission> permissions() const
        QFlags<QFile::Permission> xret = ((const x_QFileInfo*)this)->QFileInfo::permissions();
        x[0].s_uint = (uint)xret;
    }
    void x_50(Smoke::Stack x) {
        // long long size() const
        long long xret = ((const x_QFileInfo*)this)->QFileInfo::size();
        x[0].s_class = (void*)new long long(xret);
    }
    void x_51(Smoke::Stack x) {
        // QDateTime created() const
        QDateTime xret = ((const x_QFileInfo*)this)->QFileInfo::created();
        x[0].s_class = (void*)new QDateTime(xret);
    }
    void x_52(Smoke::Stack x) {
        // QDateTime lastModified() const
        QDateTime xret = ((const x_QFileInfo*)this)->QFileInfo::lastModified();
        x[0].s_class = (void*)new QDateTime(xret);
    }
    void x_53(Smoke::Stack x) {
        // QDateTime lastRead() const
        QDateTime xret = ((const x_QFileInfo*)this)->QFileInfo::lastRead();
        x[0].s_class = (void*)new QDateTime(xret);
    }
    void x_54(Smoke::Stack x) {
        // void detach()
        this->QFileInfo::detach();
        (void)x; // noop (for compiler warning)
    }
    void x_55(Smoke::Stack x) {
        // bool caching() const
        bool xret = ((const x_QFileInfo*)this)->QFileInfo::caching();
        x[0].s_bool = xret;
    }
    void x_56(Smoke::Stack x) {
        // void setCaching(bool)
        this->QFileInfo::setCaching((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    ~x_QFileInfo() { this->_binding->deleted(48, (void*)this); }
};
void xcall_QFileInfo(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QFileInfo *xself = (x_QFileInfo*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QFileInfo::x_1(args);	break;
        case 2: x_QFileInfo::x_2(args);	break;
        case 3: x_QFileInfo::x_3(args);	break;
        case 4: x_QFileInfo::x_4(args);	break;
        case 5: x_QFileInfo::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: xself->x_47(args);	break;
        case 48: xself->x_48(args);	break;
        case 49: xself->x_49(args);	break;
        case 50: xself->x_50(args);	break;
        case 51: xself->x_51(args);	break;
        case 52: xself->x_52(args);	break;
        case 53: xself->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: delete (QFileInfo*)xself;	break;
    }
}
class x_QFileSystemWatcher : public QFileSystemWatcher, 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<QFileSystemWatcher*>(this))) {
            const QMetaObject* xret = ((const x_QFileSystemWatcher*)this)->QFileSystemWatcher::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QFileSystemWatcher*)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<QFileSystemWatcher*>(this))) {
            void* xret = this->QFileSystemWatcher::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 = QFileSystemWatcher::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 = QFileSystemWatcher::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 = QFileSystemWatcher::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 = QFileSystemWatcher::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<QFileSystemWatcher*>(this))) {
            int xret = this->QFileSystemWatcher::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) {
        // QFileSystemWatcher* QFileSystemWatcher(QObject*)
        x_QFileSystemWatcher* xret = new x_QFileSystemWatcher((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QFileSystemWatcher(QObject* x1) : QFileSystemWatcher(x1) {}
    static void x_9(Smoke::Stack x) {
        // QFileSystemWatcher* QFileSystemWatcher(const QStringList&, QObject*)
        x_QFileSystemWatcher* xret = new x_QFileSystemWatcher(*(const QStringList*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QFileSystemWatcher(const QStringList& x1, QObject* x2) : QFileSystemWatcher(x1, x2) {}
    void x_10(Smoke::Stack x) {
        // void addPath(const QString&)
        this->QFileSystemWatcher::addPath(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void addPaths(const QStringList&)
        this->QFileSystemWatcher::addPaths(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void removePath(const QString&)
        this->QFileSystemWatcher::removePath(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // void removePaths(const QStringList&)
        this->QFileSystemWatcher::removePaths(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // QStringList files() const
        QStringList xret = ((const x_QFileSystemWatcher*)this)->QFileSystemWatcher::files();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_15(Smoke::Stack x) {
        // QStringList directories() const
        QStringList xret = ((const x_QFileSystemWatcher*)this)->QFileSystemWatcher::directories();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_16(Smoke::Stack x) {
        // void fileChanged(const QString&)
        this->QFileSystemWatcher::fileChanged(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void directoryChanged(const QString&)
        this->QFileSystemWatcher::directoryChanged(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_18(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QFileSystemWatcher::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_19(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QFileSystemWatcher::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_20(Smoke::Stack x) {
        // QFileSystemWatcher* QFileSystemWatcher()
        x_QFileSystemWatcher* xret = new x_QFileSystemWatcher((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_21(Smoke::Stack x) {
        // QFileSystemWatcher* QFileSystemWatcher(const QStringList&)
        x_QFileSystemWatcher* xret = new x_QFileSystemWatcher(*(const QStringList*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_22(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QFileSystemWatcher::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1917, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QFileSystemWatcher::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1918, (void*)this, x)) return (void*)x[0].s_class;
        return this->QFileSystemWatcher::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(1923, (void*)this, x)) return (int)x[0].s_int;
        return this->QFileSystemWatcher::qt_metacall(x1, x2, x3);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3804, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::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);
    }
    ~x_QFileSystemWatcher() { this->_binding->deleted(49, (void*)this); }
};
void xcall_QFileSystemWatcher(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QFileSystemWatcher *xself = (x_QFileSystemWatcher*)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_QFileSystemWatcher::x_3(args);	break;
        case 4: x_QFileSystemWatcher::x_4(args);	break;
        case 5: x_QFileSystemWatcher::x_5(args);	break;
        case 6: x_QFileSystemWatcher::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QFileSystemWatcher::x_8(args);	break;
        case 9: x_QFileSystemWatcher::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: x_QFileSystemWatcher::x_18(args);	break;
        case 19: x_QFileSystemWatcher::x_19(args);	break;
        case 20: x_QFileSystemWatcher::x_20(args);	break;
        case 21: x_QFileSystemWatcher::x_21(args);	break;
        case 22: x_QFileSystemWatcher::x_22(args);	break;
        case 23: delete (QFileSystemWatcher*)xself;	break;
    }
}
class x_QFinalState : public QFinalState, 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<QFinalState*>(this))) {
            const QMetaObject* xret = ((const x_QFinalState*)this)->QFinalState::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QFinalState*)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<QFinalState*>(this))) {
            void* xret = this->QFinalState::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 = QFinalState::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 = QFinalState::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 = QFinalState::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 = QFinalState::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<QFinalState*>(this))) {
            int xret = this->QFinalState::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) {
        // QFinalState* QFinalState(QState*)
        x_QFinalState* xret = new x_QFinalState((QState*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QFinalState(QState* x1) : QFinalState(x1) {}
    void x_9(Smoke::Stack x) {
        // void onEntry(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFinalState*>(this))) {
            this->QFinalState::onEntry((QEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->onEntry((QEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_10(Smoke::Stack x) {
        // void onExit(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFinalState*>(this))) {
            this->QFinalState::onExit((QEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->onExit((QEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_11(Smoke::Stack x) {
        // bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QFinalState*>(this))) {
            bool xret = this->QFinalState::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;
        }
    }
    static void x_12(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QFinalState::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_13(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QFinalState::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // QFinalState* QFinalState()
        x_QFinalState* xret = new x_QFinalState((QState*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_15(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QFinalState::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1940, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QFinalState::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1941, (void*)this, x)) return (void*)x[0].s_class;
        return this->QFinalState::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(1946, (void*)this, x)) return (int)x[0].s_int;
        return this->QFinalState::qt_metacall(x1, x2, x3);
    }
    virtual void onEntry(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1948, (void*)this, x)) return;
        this->QFinalState::onEntry(x1);
    }
    virtual void onExit(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1949, (void*)this, x)) return;
        this->QFinalState::onExit(x1);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1950, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QFinalState::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);
    }
    ~x_QFinalState() { this->_binding->deleted(50, (void*)this); }
};
void xcall_QFinalState(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QFinalState *xself = (x_QFinalState*)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_QFinalState::x_3(args);	break;
        case 4: x_QFinalState::x_4(args);	break;
        case 5: x_QFinalState::x_5(args);	break;
        case 6: x_QFinalState::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QFinalState::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: x_QFinalState::x_12(args);	break;
        case 13: x_QFinalState::x_13(args);	break;
        case 14: x_QFinalState::x_14(args);	break;
        case 15: x_QFinalState::x_15(args);	break;
        case 16: delete (QFinalState*)xself;	break;
    }
}

}
