//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_QAbstractAnimation : public QAbstractAnimation, 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<QAbstractAnimation*>(this))) {
            const QMetaObject* xret = ((const x_QAbstractAnimation*)this)->QAbstractAnimation::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QAbstractAnimation*)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<QAbstractAnimation*>(this))) {
            void* xret = this->QAbstractAnimation::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 = QAbstractAnimation::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 = QAbstractAnimation::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 = QAbstractAnimation::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 = QAbstractAnimation::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<QAbstractAnimation*>(this))) {
            int xret = this->QAbstractAnimation::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) {
        // QAbstractAnimation* QAbstractAnimation(QObject*)
        x_QAbstractAnimation* xret = new x_QAbstractAnimation((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAbstractAnimation(QObject* x1) : QAbstractAnimation(x1) {}
    void x_9(Smoke::Stack x) {
        // QAbstractAnimation::State state() const
        QAbstractAnimation::State xret = ((const x_QAbstractAnimation*)this)->QAbstractAnimation::state();
        x[0].s_enum = xret;
    }
    void x_10(Smoke::Stack x) {
        // QAnimationGroup* group() const
        QAnimationGroup* xret = ((const x_QAbstractAnimation*)this)->QAbstractAnimation::group();
        x[0].s_class = (void*)xret;
    }
    void x_11(Smoke::Stack x) {
        // QAbstractAnimation::Direction direction() const
        QAbstractAnimation::Direction xret = ((const x_QAbstractAnimation*)this)->QAbstractAnimation::direction();
        x[0].s_enum = xret;
    }
    void x_12(Smoke::Stack x) {
        // void setDirection(QAbstractAnimation::Direction)
        this->QAbstractAnimation::setDirection((QAbstractAnimation::Direction)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // int currentTime() const
        int xret = ((const x_QAbstractAnimation*)this)->QAbstractAnimation::currentTime();
        x[0].s_int = xret;
    }
    void x_14(Smoke::Stack x) {
        // int currentLoopTime() const
        int xret = ((const x_QAbstractAnimation*)this)->QAbstractAnimation::currentLoopTime();
        x[0].s_int = xret;
    }
    void x_15(Smoke::Stack x) {
        // int loopCount() const
        int xret = ((const x_QAbstractAnimation*)this)->QAbstractAnimation::loopCount();
        x[0].s_int = xret;
    }
    void x_16(Smoke::Stack x) {
        // void setLoopCount(int)
        this->QAbstractAnimation::setLoopCount((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // int currentLoop() const
        int xret = ((const x_QAbstractAnimation*)this)->QAbstractAnimation::currentLoop();
        x[0].s_int = xret;
    }
    void x_18(Smoke::Stack x) {
        // virtual int duration() const = 0
        int xret = ((const x_QAbstractAnimation*)this)->duration();
        x[0].s_int = xret;
    }
    void x_19(Smoke::Stack x) {
        // int totalDuration() const
        int xret = ((const x_QAbstractAnimation*)this)->QAbstractAnimation::totalDuration();
        x[0].s_int = xret;
    }
    void x_20(Smoke::Stack x) {
        // void finished()
        this->QAbstractAnimation::finished();
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // void stateChanged(QAbstractAnimation::State, QAbstractAnimation::State)
        this->QAbstractAnimation::stateChanged((QAbstractAnimation::State)x[1].s_enum,(QAbstractAnimation::State)x[2].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // void currentLoopChanged(int)
        this->QAbstractAnimation::currentLoopChanged((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // void directionChanged(QAbstractAnimation::Direction)
        this->QAbstractAnimation::directionChanged((QAbstractAnimation::Direction)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // void start(QAbstractAnimation::DeletionPolicy)
        this->QAbstractAnimation::start((QAbstractAnimation::DeletionPolicy)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // void pause()
        this->QAbstractAnimation::pause();
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // void resume()
        this->QAbstractAnimation::resume();
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // void setPaused(bool)
        this->QAbstractAnimation::setPaused((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // void stop()
        this->QAbstractAnimation::stop();
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // void setCurrentTime(int)
        this->QAbstractAnimation::setCurrentTime((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractAnimation*>(this))) {
            bool xret = this->QAbstractAnimation::event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->event((QEvent*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_31(Smoke::Stack x) {
        // virtual void updateCurrentTime(int) = 0
        this->updateCurrentTime((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // virtual void updateState(QAbstractAnimation::State, QAbstractAnimation::State)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractAnimation*>(this))) {
            this->QAbstractAnimation::updateState((QAbstractAnimation::State)x[1].s_enum,(QAbstractAnimation::State)x[2].s_enum);
            (void)x; // noop (for compiler warning)
        } else {
            this->updateState((QAbstractAnimation::State)x[1].s_enum,(QAbstractAnimation::State)x[2].s_enum);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_33(Smoke::Stack x) {
        // virtual void updateDirection(QAbstractAnimation::Direction)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractAnimation*>(this))) {
            this->QAbstractAnimation::updateDirection((QAbstractAnimation::Direction)x[1].s_enum);
            (void)x; // noop (for compiler warning)
        } else {
            this->updateDirection((QAbstractAnimation::Direction)x[1].s_enum);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_34(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QAbstractAnimation::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_35(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QAbstractAnimation::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_36(Smoke::Stack x) {
        // QAbstractAnimation* QAbstractAnimation()
        x_QAbstractAnimation* xret = new x_QAbstractAnimation((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_37(Smoke::Stack x) {
        // void start()
        this->QAbstractAnimation::start((QAbstractAnimation::DeletionPolicy)QAbstractAnimation::KeepWhenStopped);
        (void)x; // noop (for compiler warning)
    }
    static void x_38(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QAbstractAnimation::staticMetaObject;
    }
    static void x_39(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractAnimation::Forward;
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractAnimation::Backward;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractAnimation::Stopped;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractAnimation::Paused;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractAnimation::Running;
    }
    static void x_44(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractAnimation::KeepWhenStopped;
    }
    static void x_45(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractAnimation::DeleteWhenStopped;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QAbstractAnimation::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2, (void*)this, x)) return (void*)x[0].s_class;
        return this->QAbstractAnimation::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(7, (void*)this, x)) return (int)x[0].s_int;
        return this->QAbstractAnimation::qt_metacall(x1, x2, x3);
    }
    virtual int duration() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(18, (void*)this, x, true /*pure virtual*/);
        return (int)x[0].s_int;
    }
    virtual void updateCurrentTime(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(31, (void*)this, x, true /*pure virtual*/);
    }
    virtual void updateState(QAbstractAnimation::State x1, QAbstractAnimation::State x2) {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(32, (void*)this, x)) return;
        this->QAbstractAnimation::updateState(x1, x2);
    }
    virtual void updateDirection(QAbstractAnimation::Direction x1) {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(33, (void*)this, x)) return;
        this->QAbstractAnimation::updateDirection(x1);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(30, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractAnimation::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 4: //QAbstractAnimation::Direction
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QAbstractAnimation::Direction;
                    break;
                case Smoke::EnumDelete:
                    delete (QAbstractAnimation::Direction*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QAbstractAnimation::Direction*)xdata = (QAbstractAnimation::Direction)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QAbstractAnimation::Direction*)xdata;
                    break;
            }
            break;
        case 5: //QAbstractAnimation::State
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QAbstractAnimation::State;
                    break;
                case Smoke::EnumDelete:
                    delete (QAbstractAnimation::State*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QAbstractAnimation::State*)xdata = (QAbstractAnimation::State)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QAbstractAnimation::State*)xdata;
                    break;
            }
            break;
        case 3: //QAbstractAnimation::DeletionPolicy
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QAbstractAnimation::DeletionPolicy;
                    break;
                case Smoke::EnumDelete:
                    delete (QAbstractAnimation::DeletionPolicy*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QAbstractAnimation::DeletionPolicy*)xdata = (QAbstractAnimation::DeletionPolicy)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QAbstractAnimation::DeletionPolicy*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QAbstractAnimation() { this->_binding->deleted(1, (void*)this); }
};
void xenum_QAbstractAnimation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QAbstractAnimation::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QAbstractAnimation(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAbstractAnimation *xself = (x_QAbstractAnimation*)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_QAbstractAnimation::x_3(args);	break;
        case 4: x_QAbstractAnimation::x_4(args);	break;
        case 5: x_QAbstractAnimation::x_5(args);	break;
        case 6: x_QAbstractAnimation::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QAbstractAnimation::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: x_QAbstractAnimation::x_34(args);	break;
        case 35: x_QAbstractAnimation::x_35(args);	break;
        case 36: x_QAbstractAnimation::x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: x_QAbstractAnimation::x_38(args);	break;
        case 39: x_QAbstractAnimation::x_39(args);	break;
        case 40: x_QAbstractAnimation::x_40(args);	break;
        case 41: x_QAbstractAnimation::x_41(args);	break;
        case 42: x_QAbstractAnimation::x_42(args);	break;
        case 43: x_QAbstractAnimation::x_43(args);	break;
        case 44: x_QAbstractAnimation::x_44(args);	break;
        case 45: x_QAbstractAnimation::x_45(args);	break;
        case 46: delete (QAbstractAnimation*)xself;	break;
    }
}
class x_QAbstractEventDispatcher : public QAbstractEventDispatcher, 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<QAbstractEventDispatcher*>(this))) {
            const QMetaObject* xret = ((const x_QAbstractEventDispatcher*)this)->QAbstractEventDispatcher::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QAbstractEventDispatcher*)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<QAbstractEventDispatcher*>(this))) {
            void* xret = this->QAbstractEventDispatcher::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 = QAbstractEventDispatcher::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 = QAbstractEventDispatcher::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 = QAbstractEventDispatcher::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 = QAbstractEventDispatcher::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<QAbstractEventDispatcher*>(this))) {
            int xret = this->QAbstractEventDispatcher::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) {
        // QAbstractEventDispatcher* QAbstractEventDispatcher(QObject*)
        x_QAbstractEventDispatcher* xret = new x_QAbstractEventDispatcher((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAbstractEventDispatcher(QObject* x1) : QAbstractEventDispatcher(x1) {}
    static void x_9(Smoke::Stack x) {
        // static QAbstractEventDispatcher* instance(QThread*)
        QAbstractEventDispatcher* xret = QAbstractEventDispatcher::instance((QThread*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_10(Smoke::Stack x) {
        // virtual bool processEvents(QFlags<QEventLoop::ProcessEventsFlag>) = 0
        bool xret = this->processEvents((QFlags<QEventLoop::ProcessEventsFlag>)x[1].s_uint);
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // virtual bool hasPendingEvents() = 0
        bool xret = this->hasPendingEvents();
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // virtual void registerSocketNotifier(QSocketNotifier*) = 0
        this->registerSocketNotifier((QSocketNotifier*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // virtual void unregisterSocketNotifier(QSocketNotifier*) = 0
        this->unregisterSocketNotifier((QSocketNotifier*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // int registerTimer(int, QObject*)
        int xret = this->QAbstractEventDispatcher::registerTimer((int)x[1].s_int,(QObject*)x[2].s_class);
        x[0].s_int = xret;
    }
    void x_15(Smoke::Stack x) {
        // virtual void registerTimer(int, int, QObject*) = 0
        this->registerTimer((int)x[1].s_int,(int)x[2].s_int,(QObject*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // virtual bool unregisterTimer(int) = 0
        bool xret = this->unregisterTimer((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // virtual bool unregisterTimers(QObject*) = 0
        bool xret = this->unregisterTimers((QObject*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_18(Smoke::Stack x) {
        // virtual QList<QPair<int,int> > registeredTimers(QObject*) const = 0
        QList<QPair<int,int> > xret = ((const x_QAbstractEventDispatcher*)this)->registeredTimers((QObject*)x[1].s_class);
        x[0].s_class = (void*)new QList<QPair<int,int> >(xret);
    }
    void x_19(Smoke::Stack x) {
        // virtual void wakeUp() = 0
        this->wakeUp();
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // virtual void interrupt() = 0
        this->interrupt();
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // virtual void flush() = 0
        this->flush();
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // virtual void startingUp()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractEventDispatcher*>(this))) {
            this->QAbstractEventDispatcher::startingUp();
            (void)x; // noop (for compiler warning)
        } else {
            this->startingUp();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_23(Smoke::Stack x) {
        // virtual void closingDown()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractEventDispatcher*>(this))) {
            this->QAbstractEventDispatcher::closingDown();
            (void)x; // noop (for compiler warning)
        } else {
            this->closingDown();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_24(Smoke::Stack x) {
        // bool(*)(void*) setEventFilter(bool(*)(void*))
        bool(*xret)(void*) = this->QAbstractEventDispatcher::setEventFilter((bool(*)(void*))x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_25(Smoke::Stack x) {
        // bool filterEvent(void*)
        bool xret = this->QAbstractEventDispatcher::filterEvent((void*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_26(Smoke::Stack x) {
        // void aboutToBlock()
        this->QAbstractEventDispatcher::aboutToBlock();
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // void awake()
        this->QAbstractEventDispatcher::awake();
        (void)x; // noop (for compiler warning)
    }
    static void x_28(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QAbstractEventDispatcher::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_29(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QAbstractEventDispatcher::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_30(Smoke::Stack x) {
        // QAbstractEventDispatcher* QAbstractEventDispatcher()
        x_QAbstractEventDispatcher* xret = new x_QAbstractEventDispatcher((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_31(Smoke::Stack x) {
        // static QAbstractEventDispatcher* instance()
        QAbstractEventDispatcher* xret = QAbstractEventDispatcher::instance((QThread*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_32(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QAbstractEventDispatcher::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(47, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QAbstractEventDispatcher::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(48, (void*)this, x)) return (void*)x[0].s_class;
        return this->QAbstractEventDispatcher::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(53, (void*)this, x)) return (int)x[0].s_int;
        return this->QAbstractEventDispatcher::qt_metacall(x1, x2, x3);
    }
    virtual bool processEvents(QFlags<QEventLoop::ProcessEventsFlag> x1) {
        Smoke::StackItem x[2];
        x[1].s_uint = (uint)x1;
        this->_binding->callMethod(56, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool hasPendingEvents() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(57, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual void registerSocketNotifier(QSocketNotifier* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(58, (void*)this, x, true /*pure virtual*/);
    }
    virtual void unregisterSocketNotifier(QSocketNotifier* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(59, (void*)this, x, true /*pure virtual*/);
    }
    virtual void registerTimer(int x1, int x2, QObject* x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        this->_binding->callMethod(61, (void*)this, x, true /*pure virtual*/);
    }
    virtual bool unregisterTimer(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        this->_binding->callMethod(62, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool unregisterTimers(QObject* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(63, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual QList<QPair<int,int> > registeredTimers(QObject* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(64, (void*)this, x, true /*pure virtual*/);
        QList<QPair<int,int> >* xptr = (QList<QPair<int,int> >*)x[0].s_class;
        QList<QPair<int,int> > xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void wakeUp() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(65, (void*)this, x, true /*pure virtual*/);
    }
    virtual void interrupt() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(66, (void*)this, x, true /*pure virtual*/);
    }
    virtual void flush() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(67, (void*)this, x, true /*pure virtual*/);
    }
    virtual void startingUp() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(68, (void*)this, x)) return;
        this->QAbstractEventDispatcher::startingUp();
    }
    virtual void closingDown() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(69, (void*)this, x)) return;
        this->QAbstractEventDispatcher::closingDown();
    }
    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_QAbstractEventDispatcher() { this->_binding->deleted(2, (void*)this); }
};
void xcall_QAbstractEventDispatcher(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAbstractEventDispatcher *xself = (x_QAbstractEventDispatcher*)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_QAbstractEventDispatcher::x_3(args);	break;
        case 4: x_QAbstractEventDispatcher::x_4(args);	break;
        case 5: x_QAbstractEventDispatcher::x_5(args);	break;
        case 6: x_QAbstractEventDispatcher::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QAbstractEventDispatcher::x_8(args);	break;
        case 9: x_QAbstractEventDispatcher::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: x_QAbstractEventDispatcher::x_28(args);	break;
        case 29: x_QAbstractEventDispatcher::x_29(args);	break;
        case 30: x_QAbstractEventDispatcher::x_30(args);	break;
        case 31: x_QAbstractEventDispatcher::x_31(args);	break;
        case 32: x_QAbstractEventDispatcher::x_32(args);	break;
        case 33: delete (QAbstractEventDispatcher*)xself;	break;
    }
}
class x_QAbstractFileEngine : public QAbstractFileEngine, 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 bool open(QFlags<QIODevice::OpenModeFlag>)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            bool xret = this->QAbstractFileEngine::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_2(Smoke::Stack x) {
        // virtual bool close()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            bool xret = this->QAbstractFileEngine::close();
            x[0].s_bool = xret;
        } else {
            bool xret = this->close();
            x[0].s_bool = xret;
        }
    }
    void x_3(Smoke::Stack x) {
        // virtual bool flush()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            bool xret = this->QAbstractFileEngine::flush();
            x[0].s_bool = xret;
        } else {
            bool xret = this->flush();
            x[0].s_bool = xret;
        }
    }
    void x_4(Smoke::Stack x) {
        // virtual long long size() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            long long xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::size();
            x[0].s_class = (void*)new long long(xret);
        } else {
            long long xret = ((const x_QAbstractFileEngine*)this)->size();
            x[0].s_class = (void*)new long long(xret);
        }
    }
    void x_5(Smoke::Stack x) {
        // virtual long long pos() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            long long xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::pos();
            x[0].s_class = (void*)new long long(xret);
        } else {
            long long xret = ((const x_QAbstractFileEngine*)this)->pos();
            x[0].s_class = (void*)new long long(xret);
        }
    }
    void x_6(Smoke::Stack x) {
        // virtual bool seek(long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            bool xret = this->QAbstractFileEngine::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_7(Smoke::Stack x) {
        // virtual bool isSequential() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            bool xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::isSequential();
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QAbstractFileEngine*)this)->isSequential();
            x[0].s_bool = xret;
        }
    }
    void x_8(Smoke::Stack x) {
        // virtual bool remove()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            bool xret = this->QAbstractFileEngine::remove();
            x[0].s_bool = xret;
        } else {
            bool xret = this->remove();
            x[0].s_bool = xret;
        }
    }
    void x_9(Smoke::Stack x) {
        // virtual bool copy(const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            bool xret = this->QAbstractFileEngine::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_10(Smoke::Stack x) {
        // virtual bool rename(const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            bool xret = this->QAbstractFileEngine::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_11(Smoke::Stack x) {
        // virtual bool link(const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            bool xret = this->QAbstractFileEngine::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_12(Smoke::Stack x) {
        // virtual bool mkdir(const QString&, bool) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            bool xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::mkdir(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QAbstractFileEngine*)this)->mkdir(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            x[0].s_bool = xret;
        }
    }
    void x_13(Smoke::Stack x) {
        // virtual bool rmdir(const QString&, bool) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            bool xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::rmdir(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QAbstractFileEngine*)this)->rmdir(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
            x[0].s_bool = xret;
        }
    }
    void x_14(Smoke::Stack x) {
        // virtual bool setSize(long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            bool xret = this->QAbstractFileEngine::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_15(Smoke::Stack x) {
        // virtual bool caseSensitive() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            bool xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::caseSensitive();
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QAbstractFileEngine*)this)->caseSensitive();
            x[0].s_bool = xret;
        }
    }
    void x_16(Smoke::Stack x) {
        // virtual bool isRelativePath() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            bool xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::isRelativePath();
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QAbstractFileEngine*)this)->isRelativePath();
            x[0].s_bool = xret;
        }
    }
    void x_17(Smoke::Stack x) {
        // virtual QStringList entryList(QFlags<QDir::Filter>, const QStringList&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            QStringList xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::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_QAbstractFileEngine*)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_18(Smoke::Stack x) {
        // virtual QFlags<QAbstractFileEngine::FileFlag> fileFlags(QFlags<QAbstractFileEngine::FileFlag>) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            QFlags<QAbstractFileEngine::FileFlag> xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::fileFlags((QFlags<QAbstractFileEngine::FileFlag>)x[1].s_uint);
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<QAbstractFileEngine::FileFlag> xret = ((const x_QAbstractFileEngine*)this)->fileFlags((QFlags<QAbstractFileEngine::FileFlag>)x[1].s_uint);
            x[0].s_uint = (uint)xret;
        }
    }
    void x_19(Smoke::Stack x) {
        // virtual bool setPermissions(unsigned int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            bool xret = this->QAbstractFileEngine::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_20(Smoke::Stack x) {
        // virtual QString fileName(QAbstractFileEngine::FileName) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            QString xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::fileName((QAbstractFileEngine::FileName)x[1].s_enum);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QAbstractFileEngine*)this)->fileName((QAbstractFileEngine::FileName)x[1].s_enum);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_21(Smoke::Stack x) {
        // virtual unsigned int ownerId(QAbstractFileEngine::FileOwner) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            unsigned int xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::ownerId((QAbstractFileEngine::FileOwner)x[1].s_enum);
            x[0].s_uint = xret;
        } else {
            unsigned int xret = ((const x_QAbstractFileEngine*)this)->ownerId((QAbstractFileEngine::FileOwner)x[1].s_enum);
            x[0].s_uint = xret;
        }
    }
    void x_22(Smoke::Stack x) {
        // virtual QString owner(QAbstractFileEngine::FileOwner) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            QString xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::owner((QAbstractFileEngine::FileOwner)x[1].s_enum);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QAbstractFileEngine*)this)->owner((QAbstractFileEngine::FileOwner)x[1].s_enum);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_23(Smoke::Stack x) {
        // virtual QDateTime fileTime(QAbstractFileEngine::FileTime) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            QDateTime xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::fileTime((QAbstractFileEngine::FileTime)x[1].s_enum);
            x[0].s_class = (void*)new QDateTime(xret);
        } else {
            QDateTime xret = ((const x_QAbstractFileEngine*)this)->fileTime((QAbstractFileEngine::FileTime)x[1].s_enum);
            x[0].s_class = (void*)new QDateTime(xret);
        }
    }
    void x_24(Smoke::Stack x) {
        // virtual void setFileName(const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            this->QAbstractFileEngine::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_25(Smoke::Stack x) {
        // virtual int handle() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            int xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::handle();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QAbstractFileEngine*)this)->handle();
            x[0].s_int = xret;
        }
    }
    void x_26(Smoke::Stack x) {
        // bool atEnd() const
        bool xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::atEnd();
        x[0].s_bool = xret;
    }
    void x_27(Smoke::Stack x) {
        // unsigned char* map(long long, long long, QFile::MemoryMapFlags)
        unsigned char* xret = this->QAbstractFileEngine::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_28(Smoke::Stack x) {
        // bool unmap(unsigned char*)
        bool xret = this->QAbstractFileEngine::unmap((unsigned char*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_29(Smoke::Stack x) {
        // virtual QAbstractFileEngineIterator* beginEntryList(QFlags<QDir::Filter>, const QStringList&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            QAbstractFileEngineIterator* xret = this->QAbstractFileEngine::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) {
        // virtual QAbstractFileEngineIterator* endEntryList()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            QAbstractFileEngineIterator* xret = this->QAbstractFileEngine::endEntryList();
            x[0].s_class = (void*)xret;
        } else {
            QAbstractFileEngineIterator* xret = this->endEntryList();
            x[0].s_class = (void*)xret;
        }
    }
    void x_31(Smoke::Stack x) {
        // virtual long long read(char*, long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            long long xret = this->QAbstractFileEngine::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) {
        // virtual long long readLine(char*, long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            long long xret = this->QAbstractFileEngine::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) {
        // virtual long long write(const char*, long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            long long xret = this->QAbstractFileEngine::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) {
        // QFile::FileError error() const
        QFile::FileError xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::error();
        x[0].s_enum = xret;
    }
    void x_35(Smoke::Stack x) {
        // QString errorString() const
        QString xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::errorString();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_36(Smoke::Stack x) {
        // virtual bool extension(QAbstractFileEngine::Extension, const QAbstractFileEngine::ExtensionOption*, QAbstractFileEngine::ExtensionReturn*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            bool xret = this->QAbstractFileEngine::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_37(Smoke::Stack x) {
        // virtual bool supportsExtension(QAbstractFileEngine::Extension) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QAbstractFileEngine*>(this))) {
            bool xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::supportsExtension((QAbstractFileEngine::Extension)x[1].s_enum);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QAbstractFileEngine*)this)->supportsExtension((QAbstractFileEngine::Extension)x[1].s_enum);
            x[0].s_bool = xret;
        }
    }
    static void x_38(Smoke::Stack x) {
        // static QAbstractFileEngine* create(const QString&)
        QAbstractFileEngine* xret = QAbstractFileEngine::create(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_39(Smoke::Stack x) {
        // void setError(QFile::FileError, const QString&)
        this->QAbstractFileEngine::setError((QFile::FileError)x[1].s_enum,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_40(Smoke::Stack x) {
        // QAbstractFileEngine* QAbstractFileEngine()
        x_QAbstractFileEngine* xret = new x_QAbstractFileEngine();
        x[0].s_class = (void*)xret;
    }
    explicit x_QAbstractFileEngine() : QAbstractFileEngine() {}
    void x_41(Smoke::Stack x) {
        // QFlags<QAbstractFileEngine::FileFlag> fileFlags() const
        QFlags<QAbstractFileEngine::FileFlag> xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::fileFlags((QFlags<QAbstractFileEngine::FileFlag>)QAbstractFileEngine::FileInfoAll);
        x[0].s_uint = (uint)xret;
    }
    void x_42(Smoke::Stack x) {
        // QString fileName() const
        QString xret = ((const x_QAbstractFileEngine*)this)->QAbstractFileEngine::fileName((QAbstractFileEngine::FileName)QAbstractFileEngine::DefaultName);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_43(Smoke::Stack x) {
        // bool extension(QAbstractFileEngine::Extension)
        bool xret = this->QAbstractFileEngine::extension((QAbstractFileEngine::Extension)x[1].s_enum,(const QAbstractFileEngine::ExtensionOption*)0,(QAbstractFileEngine::ExtensionReturn*)0);
        x[0].s_bool = xret;
    }
    void x_44(Smoke::Stack x) {
        // bool extension(QAbstractFileEngine::Extension, const QAbstractFileEngine::ExtensionOption*)
        bool xret = this->QAbstractFileEngine::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_45(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::ReadOwnerPerm;
    }
    static void x_46(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::WriteOwnerPerm;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::ExeOwnerPerm;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::ReadUserPerm;
    }
    static void x_49(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::WriteUserPerm;
    }
    static void x_50(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::ExeUserPerm;
    }
    static void x_51(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::ReadGroupPerm;
    }
    static void x_52(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::WriteGroupPerm;
    }
    static void x_53(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::ExeGroupPerm;
    }
    static void x_54(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::ReadOtherPerm;
    }
    static void x_55(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::WriteOtherPerm;
    }
    static void x_56(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::ExeOtherPerm;
    }
    static void x_57(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::LinkType;
    }
    static void x_58(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::FileType;
    }
    static void x_59(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::DirectoryType;
    }
    static void x_60(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::BundleType;
    }
    static void x_61(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::HiddenFlag;
    }
    static void x_62(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::LocalDiskFlag;
    }
    static void x_63(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::ExistsFlag;
    }
    static void x_64(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::RootFlag;
    }
    static void x_65(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::Refresh;
    }
    static void x_66(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::PermsMask;
    }
    static void x_67(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::TypesMask;
    }
    static void x_68(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::FlagsMask;
    }
    static void x_69(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::FileInfoAll;
    }
    static void x_70(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::DefaultName;
    }
    static void x_71(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::BaseName;
    }
    static void x_72(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::PathName;
    }
    static void x_73(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::AbsoluteName;
    }
    static void x_74(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::AbsolutePathName;
    }
    static void x_75(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::LinkName;
    }
    static void x_76(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::CanonicalName;
    }
    static void x_77(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::CanonicalPathName;
    }
    static void x_78(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::BundleName;
    }
    static void x_79(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::NFileNames;
    }
    static void x_80(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::OwnerUser;
    }
    static void x_81(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::OwnerGroup;
    }
    static void x_82(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::CreationTime;
    }
    static void x_83(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::ModificationTime;
    }
    static void x_84(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::AccessTime;
    }
    static void x_85(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::AtEndExtension;
    }
    static void x_86(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::FastReadLineExtension;
    }
    static void x_87(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::MapExtension;
    }
    static void x_88(Smoke::Stack x) {
        x[0].s_enum = (long)QAbstractFileEngine::UnMapExtension;
    }
    virtual bool open(QFlags<QIODevice::OpenModeFlag> x1) {
        Smoke::StackItem x[2];
        x[1].s_uint = (uint)x1;
        if (this->_binding->callMethod(80, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractFileEngine::open(x1);
    }
    virtual bool close() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(81, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractFileEngine::close();
    }
    virtual bool flush() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(82, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractFileEngine::flush();
    }
    virtual long long size() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(83, (void*)this, x)) {
            long long* xptr = (long long*)x[0].s_class;
            long long xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractFileEngine::size();
    }
    virtual long long pos() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(84, (void*)this, x)) {
            long long* xptr = (long long*)x[0].s_class;
            long long xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractFileEngine::pos();
    }
    virtual bool seek(long long x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)new long long(x1);
        if (this->_binding->callMethod(85, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractFileEngine::seek(x1);
    }
    virtual bool isSequential() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(86, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractFileEngine::isSequential();
    }
    virtual bool remove() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(87, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractFileEngine::remove();
    }
    virtual bool copy(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(88, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractFileEngine::copy(x1);
    }
    virtual bool rename(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(89, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractFileEngine::rename(x1);
    }
    virtual bool link(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(90, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractFileEngine::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(91, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractFileEngine::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(92, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractFileEngine::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(93, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractFileEngine::setSize(x1);
    }
    virtual bool caseSensitive() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(94, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractFileEngine::caseSensitive();
    }
    virtual bool isRelativePath() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(95, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractFileEngine::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(96, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractFileEngine::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(97, (void*)this, x)) return (QFlags<QAbstractFileEngine::FileFlag>)x[0].s_uint;
        return this->QAbstractFileEngine::fileFlags(x1);
    }
    virtual bool setPermissions(unsigned int x1) {
        Smoke::StackItem x[2];
        x[1].s_uint = x1;
        if (this->_binding->callMethod(98, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractFileEngine::setPermissions(x1);
    }
    virtual QString fileName(QAbstractFileEngine::FileName x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(99, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractFileEngine::fileName(x1);
    }
    virtual unsigned int ownerId(QAbstractFileEngine::FileOwner x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(100, (void*)this, x)) return (unsigned int)x[0].s_uint;
        return this->QAbstractFileEngine::ownerId(x1);
    }
    virtual QString owner(QAbstractFileEngine::FileOwner x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(101, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractFileEngine::owner(x1);
    }
    virtual QDateTime fileTime(QAbstractFileEngine::FileTime x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(102, (void*)this, x)) {
            QDateTime* xptr = (QDateTime*)x[0].s_class;
            QDateTime xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractFileEngine::fileTime(x1);
    }
    virtual void setFileName(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(103, (void*)this, x)) return;
        this->QAbstractFileEngine::setFileName(x1);
    }
    virtual int handle() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(104, (void*)this, x)) return (int)x[0].s_int;
        return this->QAbstractFileEngine::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(108, (void*)this, x)) return (QAbstractFileEngineIterator*)x[0].s_class;
        return this->QAbstractFileEngine::beginEntryList(x1, x2);
    }
    virtual QAbstractFileEngineIterator* endEntryList() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(109, (void*)this, x)) return (QAbstractFileEngineIterator*)x[0].s_class;
        return this->QAbstractFileEngine::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(110, (void*)this, x)) {
            long long* xptr = (long long*)x[0].s_class;
            long long xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractFileEngine::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(111, (void*)this, x)) {
            long long* xptr = (long long*)x[0].s_class;
            long long xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractFileEngine::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(112, (void*)this, x)) {
            long long* xptr = (long long*)x[0].s_class;
            long long xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractFileEngine::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(115, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractFileEngine::extension(x1, x2, x3);
    }
    virtual bool supportsExtension(QAbstractFileEngine::Extension x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(116, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractFileEngine::supportsExtension(x1);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 11: //QAbstractFileEngine::FileFlag
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QAbstractFileEngine::FileFlag;
                    break;
                case Smoke::EnumDelete:
                    delete (QAbstractFileEngine::FileFlag*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QAbstractFileEngine::FileFlag*)xdata = (QAbstractFileEngine::FileFlag)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QAbstractFileEngine::FileFlag*)xdata;
                    break;
            }
            break;
        case 12: //QAbstractFileEngine::FileName
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QAbstractFileEngine::FileName;
                    break;
                case Smoke::EnumDelete:
                    delete (QAbstractFileEngine::FileName*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QAbstractFileEngine::FileName*)xdata = (QAbstractFileEngine::FileName)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QAbstractFileEngine::FileName*)xdata;
                    break;
            }
            break;
        case 13: //QAbstractFileEngine::FileOwner
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QAbstractFileEngine::FileOwner;
                    break;
                case Smoke::EnumDelete:
                    delete (QAbstractFileEngine::FileOwner*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QAbstractFileEngine::FileOwner*)xdata = (QAbstractFileEngine::FileOwner)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QAbstractFileEngine::FileOwner*)xdata;
                    break;
            }
            break;
        case 14: //QAbstractFileEngine::FileTime
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QAbstractFileEngine::FileTime;
                    break;
                case Smoke::EnumDelete:
                    delete (QAbstractFileEngine::FileTime*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QAbstractFileEngine::FileTime*)xdata = (QAbstractFileEngine::FileTime)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QAbstractFileEngine::FileTime*)xdata;
                    break;
            }
            break;
        case 8: //QAbstractFileEngine::Extension
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QAbstractFileEngine::Extension;
                    break;
                case Smoke::EnumDelete:
                    delete (QAbstractFileEngine::Extension*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QAbstractFileEngine::Extension*)xdata = (QAbstractFileEngine::Extension)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QAbstractFileEngine::Extension*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QAbstractFileEngine() { this->_binding->deleted(3, (void*)this); }
};
void xenum_QAbstractFileEngine(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QAbstractFileEngine::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QAbstractFileEngine(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAbstractFileEngine *xself = (x_QAbstractFileEngine*)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: 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: x_QAbstractFileEngine::x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: x_QAbstractFileEngine::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: x_QAbstractFileEngine::x_45(args);	break;
        case 46: x_QAbstractFileEngine::x_46(args);	break;
        case 47: x_QAbstractFileEngine::x_47(args);	break;
        case 48: x_QAbstractFileEngine::x_48(args);	break;
        case 49: x_QAbstractFileEngine::x_49(args);	break;
        case 50: x_QAbstractFileEngine::x_50(args);	break;
        case 51: x_QAbstractFileEngine::x_51(args);	break;
        case 52: x_QAbstractFileEngine::x_52(args);	break;
        case 53: x_QAbstractFileEngine::x_53(args);	break;
        case 54: x_QAbstractFileEngine::x_54(args);	break;
        case 55: x_QAbstractFileEngine::x_55(args);	break;
        case 56: x_QAbstractFileEngine::x_56(args);	break;
        case 57: x_QAbstractFileEngine::x_57(args);	break;
        case 58: x_QAbstractFileEngine::x_58(args);	break;
        case 59: x_QAbstractFileEngine::x_59(args);	break;
        case 60: x_QAbstractFileEngine::x_60(args);	break;
        case 61: x_QAbstractFileEngine::x_61(args);	break;
        case 62: x_QAbstractFileEngine::x_62(args);	break;
        case 63: x_QAbstractFileEngine::x_63(args);	break;
        case 64: x_QAbstractFileEngine::x_64(args);	break;
        case 65: x_QAbstractFileEngine::x_65(args);	break;
        case 66: x_QAbstractFileEngine::x_66(args);	break;
        case 67: x_QAbstractFileEngine::x_67(args);	break;
        case 68: x_QAbstractFileEngine::x_68(args);	break;
        case 69: x_QAbstractFileEngine::x_69(args);	break;
        case 70: x_QAbstractFileEngine::x_70(args);	break;
        case 71: x_QAbstractFileEngine::x_71(args);	break;
        case 72: x_QAbstractFileEngine::x_72(args);	break;
        case 73: x_QAbstractFileEngine::x_73(args);	break;
        case 74: x_QAbstractFileEngine::x_74(args);	break;
        case 75: x_QAbstractFileEngine::x_75(args);	break;
        case 76: x_QAbstractFileEngine::x_76(args);	break;
        case 77: x_QAbstractFileEngine::x_77(args);	break;
        case 78: x_QAbstractFileEngine::x_78(args);	break;
        case 79: x_QAbstractFileEngine::x_79(args);	break;
        case 80: x_QAbstractFileEngine::x_80(args);	break;
        case 81: x_QAbstractFileEngine::x_81(args);	break;
        case 82: x_QAbstractFileEngine::x_82(args);	break;
        case 83: x_QAbstractFileEngine::x_83(args);	break;
        case 84: x_QAbstractFileEngine::x_84(args);	break;
        case 85: x_QAbstractFileEngine::x_85(args);	break;
        case 86: x_QAbstractFileEngine::x_86(args);	break;
        case 87: x_QAbstractFileEngine::x_87(args);	break;
        case 88: x_QAbstractFileEngine::x_88(args);	break;
        case 89: delete (QAbstractFileEngine*)xself;	break;
    }
}
class x_QAbstractFileEngine__ExtensionOption : public QAbstractFileEngine::ExtensionOption {
    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) {
        // QAbstractFileEngine::ExtensionOption* ExtensionOption()
        x_QAbstractFileEngine__ExtensionOption* xret = new x_QAbstractFileEngine__ExtensionOption();
        x[0].s_class = (void*)xret;
    }
    explicit x_QAbstractFileEngine__ExtensionOption() : ExtensionOption() {}
    static void x_2(Smoke::Stack x) {
        // QAbstractFileEngine::ExtensionOption* ExtensionOption(const QAbstractFileEngine::ExtensionOption&)
        x_QAbstractFileEngine__ExtensionOption* xret = new x_QAbstractFileEngine__ExtensionOption(*(const QAbstractFileEngine::ExtensionOption*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAbstractFileEngine__ExtensionOption(const QAbstractFileEngine::ExtensionOption& x1) : ExtensionOption(x1) {}
    ~x_QAbstractFileEngine__ExtensionOption() { this->_binding->deleted(4, (void*)this); }
};
void xcall_QAbstractFileEngine__ExtensionOption(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAbstractFileEngine__ExtensionOption *xself = (x_QAbstractFileEngine__ExtensionOption*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QAbstractFileEngine__ExtensionOption::x_1(args);	break;
        case 2: x_QAbstractFileEngine__ExtensionOption::x_2(args);	break;
        case 3: delete (QAbstractFileEngine::ExtensionOption*)xself;	break;
    }
}
class x_QAbstractFileEngine__ExtensionReturn : public QAbstractFileEngine::ExtensionReturn {
    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) {
        // QAbstractFileEngine::ExtensionReturn* ExtensionReturn()
        x_QAbstractFileEngine__ExtensionReturn* xret = new x_QAbstractFileEngine__ExtensionReturn();
        x[0].s_class = (void*)xret;
    }
    explicit x_QAbstractFileEngine__ExtensionReturn() : ExtensionReturn() {}
    static void x_2(Smoke::Stack x) {
        // QAbstractFileEngine::ExtensionReturn* ExtensionReturn(const QAbstractFileEngine::ExtensionReturn&)
        x_QAbstractFileEngine__ExtensionReturn* xret = new x_QAbstractFileEngine__ExtensionReturn(*(const QAbstractFileEngine::ExtensionReturn*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAbstractFileEngine__ExtensionReturn(const QAbstractFileEngine::ExtensionReturn& x1) : ExtensionReturn(x1) {}
    ~x_QAbstractFileEngine__ExtensionReturn() { this->_binding->deleted(5, (void*)this); }
};
void xcall_QAbstractFileEngine__ExtensionReturn(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAbstractFileEngine__ExtensionReturn *xself = (x_QAbstractFileEngine__ExtensionReturn*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QAbstractFileEngine__ExtensionReturn::x_1(args);	break;
        case 2: x_QAbstractFileEngine__ExtensionReturn::x_2(args);	break;
        case 3: delete (QAbstractFileEngine::ExtensionReturn*)xself;	break;
    }
}
class x_QAbstractFileEngine__MapExtensionOption : public QAbstractFileEngine::MapExtensionOption {
    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) {
        // QAbstractFileEngine::MapExtensionOption* MapExtensionOption()
        x_QAbstractFileEngine__MapExtensionOption* xret = new x_QAbstractFileEngine__MapExtensionOption();
        x[0].s_class = (void*)xret;
    }
    explicit x_QAbstractFileEngine__MapExtensionOption() : MapExtensionOption() {}
    static void x_2(Smoke::Stack x) {
        // QAbstractFileEngine::MapExtensionOption* MapExtensionOption(const QAbstractFileEngine::MapExtensionOption&)
        x_QAbstractFileEngine__MapExtensionOption* xret = new x_QAbstractFileEngine__MapExtensionOption(*(const QAbstractFileEngine::MapExtensionOption*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAbstractFileEngine__MapExtensionOption(const QAbstractFileEngine::MapExtensionOption& x1) : MapExtensionOption(x1) {}
    void x_3(Smoke::Stack x) {
        // long long offset
        x[0].s_class = (void*)new long long(this->QAbstractFileEngine::MapExtensionOption::offset);
    }
    void x_4(Smoke::Stack x) {
        // long long offset=
        this->QAbstractFileEngine::MapExtensionOption::offset = *(long long*)x[1].s_class;
    }
    void x_5(Smoke::Stack x) {
        // long long size
        x[0].s_class = (void*)new long long(this->QAbstractFileEngine::MapExtensionOption::size);
    }
    void x_6(Smoke::Stack x) {
        // long long size=
        this->QAbstractFileEngine::MapExtensionOption::size = *(long long*)x[1].s_class;
    }
    void x_7(Smoke::Stack x) {
        // QFile::MemoryMapFlags flags
        x[0].s_enum = this->QAbstractFileEngine::MapExtensionOption::flags;
    }
    void x_8(Smoke::Stack x) {
        // QFile::MemoryMapFlags flags=
        this->QAbstractFileEngine::MapExtensionOption::flags = (QFile::MemoryMapFlags)x[1].s_enum;
    }
    ~x_QAbstractFileEngine__MapExtensionOption() { this->_binding->deleted(6, (void*)this); }
};
void xcall_QAbstractFileEngine__MapExtensionOption(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAbstractFileEngine__MapExtensionOption *xself = (x_QAbstractFileEngine__MapExtensionOption*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QAbstractFileEngine__MapExtensionOption::x_1(args);	break;
        case 2: x_QAbstractFileEngine__MapExtensionOption::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: delete (QAbstractFileEngine::MapExtensionOption*)xself;	break;
    }
}
class x_QAbstractFileEngine__MapExtensionReturn : public QAbstractFileEngine::MapExtensionReturn {
    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) {
        // QAbstractFileEngine::MapExtensionReturn* MapExtensionReturn()
        x_QAbstractFileEngine__MapExtensionReturn* xret = new x_QAbstractFileEngine__MapExtensionReturn();
        x[0].s_class = (void*)xret;
    }
    explicit x_QAbstractFileEngine__MapExtensionReturn() : MapExtensionReturn() {}
    static void x_2(Smoke::Stack x) {
        // QAbstractFileEngine::MapExtensionReturn* MapExtensionReturn(const QAbstractFileEngine::MapExtensionReturn&)
        x_QAbstractFileEngine__MapExtensionReturn* xret = new x_QAbstractFileEngine__MapExtensionReturn(*(const QAbstractFileEngine::MapExtensionReturn*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QAbstractFileEngine__MapExtensionReturn(const QAbstractFileEngine::MapExtensionReturn& x1) : MapExtensionReturn(x1) {}
    void x_3(Smoke::Stack x) {
        // unsigned char* address
        x[0].s_class = (void*)this->QAbstractFileEngine::MapExtensionReturn::address;
    }
    void x_4(Smoke::Stack x) {
        // unsigned char* address=
        this->QAbstractFileEngine::MapExtensionReturn::address = (unsigned char*)x[1].s_class;
    }
    ~x_QAbstractFileEngine__MapExtensionReturn() { this->_binding->deleted(7, (void*)this); }
};
void xcall_QAbstractFileEngine__MapExtensionReturn(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QAbstractFileEngine__MapExtensionReturn *xself = (x_QAbstractFileEngine__MapExtensionReturn*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QAbstractFileEngine__MapExtensionReturn::x_1(args);	break;
        case 2: x_QAbstractFileEngine__MapExtensionReturn::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: delete (QAbstractFileEngine::MapExtensionReturn*)xself;	break;
    }
}

}
