//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_QSharedMemory : public QSharedMemory, 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<QSharedMemory*>(this))) {
            const QMetaObject* xret = ((const x_QSharedMemory*)this)->QSharedMemory::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QSharedMemory*)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<QSharedMemory*>(this))) {
            void* xret = this->QSharedMemory::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 = QSharedMemory::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 = QSharedMemory::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 = QSharedMemory::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 = QSharedMemory::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<QSharedMemory*>(this))) {
            int xret = this->QSharedMemory::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) {
        // QSharedMemory* QSharedMemory(QObject*)
        x_QSharedMemory* xret = new x_QSharedMemory((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSharedMemory(QObject* x1) : QSharedMemory(x1) {}
    static void x_9(Smoke::Stack x) {
        // QSharedMemory* QSharedMemory(const QString&, QObject*)
        x_QSharedMemory* xret = new x_QSharedMemory(*(const QString*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSharedMemory(const QString& x1, QObject* x2) : QSharedMemory(x1, x2) {}
    void x_10(Smoke::Stack x) {
        // void setKey(const QString&)
        this->QSharedMemory::setKey(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // QString key() const
        QString xret = ((const x_QSharedMemory*)this)->QSharedMemory::key();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_12(Smoke::Stack x) {
        // void setNativeKey(const QString&)
        this->QSharedMemory::setNativeKey(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // QString nativeKey() const
        QString xret = ((const x_QSharedMemory*)this)->QSharedMemory::nativeKey();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_14(Smoke::Stack x) {
        // bool create(int, QSharedMemory::AccessMode)
        bool xret = this->QSharedMemory::create((int)x[1].s_int,(QSharedMemory::AccessMode)x[2].s_enum);
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // int size() const
        int xret = ((const x_QSharedMemory*)this)->QSharedMemory::size();
        x[0].s_int = xret;
    }
    void x_16(Smoke::Stack x) {
        // bool attach(QSharedMemory::AccessMode)
        bool xret = this->QSharedMemory::attach((QSharedMemory::AccessMode)x[1].s_enum);
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // bool isAttached() const
        bool xret = ((const x_QSharedMemory*)this)->QSharedMemory::isAttached();
        x[0].s_bool = xret;
    }
    void x_18(Smoke::Stack x) {
        // bool detach()
        bool xret = this->QSharedMemory::detach();
        x[0].s_bool = xret;
    }
    void x_19(Smoke::Stack x) {
        // void* data()
        void* xret = this->QSharedMemory::data();
        x[0].s_class = (void*)xret;
    }
    void x_20(Smoke::Stack x) {
        // const void* constData() const
        const void* xret = ((const x_QSharedMemory*)this)->QSharedMemory::constData();
        x[0].s_class = (void*)xret;
    }
    void x_21(Smoke::Stack x) {
        // const void* data() const
        const void* xret = ((const x_QSharedMemory*)this)->QSharedMemory::data();
        x[0].s_class = (void*)xret;
    }
    void x_22(Smoke::Stack x) {
        // bool lock()
        bool xret = this->QSharedMemory::lock();
        x[0].s_bool = xret;
    }
    void x_23(Smoke::Stack x) {
        // bool unlock()
        bool xret = this->QSharedMemory::unlock();
        x[0].s_bool = xret;
    }
    void x_24(Smoke::Stack x) {
        // QSharedMemory::SharedMemoryError error() const
        QSharedMemory::SharedMemoryError xret = ((const x_QSharedMemory*)this)->QSharedMemory::error();
        x[0].s_enum = xret;
    }
    void x_25(Smoke::Stack x) {
        // QString errorString() const
        QString xret = ((const x_QSharedMemory*)this)->QSharedMemory::errorString();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_26(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QSharedMemory::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_27(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QSharedMemory::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_28(Smoke::Stack x) {
        // QSharedMemory* QSharedMemory()
        x_QSharedMemory* xret = new x_QSharedMemory((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_29(Smoke::Stack x) {
        // QSharedMemory* QSharedMemory(const QString&)
        x_QSharedMemory* xret = new x_QSharedMemory(*(const QString*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_30(Smoke::Stack x) {
        // bool create(int)
        bool xret = this->QSharedMemory::create((int)x[1].s_int,(QSharedMemory::AccessMode)QSharedMemory::ReadWrite);
        x[0].s_bool = xret;
    }
    void x_31(Smoke::Stack x) {
        // bool attach()
        bool xret = this->QSharedMemory::attach((QSharedMemory::AccessMode)QSharedMemory::ReadWrite);
        x[0].s_bool = xret;
    }
    static void x_32(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QSharedMemory::staticMetaObject;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)QSharedMemory::ReadOnly;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)QSharedMemory::ReadWrite;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)QSharedMemory::NoError;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)QSharedMemory::PermissionDenied;
    }
    static void x_37(Smoke::Stack x) {
        x[0].s_enum = (long)QSharedMemory::InvalidSize;
    }
    static void x_38(Smoke::Stack x) {
        x[0].s_enum = (long)QSharedMemory::KeyError;
    }
    static void x_39(Smoke::Stack x) {
        x[0].s_enum = (long)QSharedMemory::AlreadyExists;
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)QSharedMemory::NotFound;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)QSharedMemory::LockError;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)QSharedMemory::OutOfResources;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)QSharedMemory::UnknownError;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(4505, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QSharedMemory::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(4506, (void*)this, x)) return (void*)x[0].s_class;
        return this->QSharedMemory::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(4511, (void*)this, x)) return (int)x[0].s_int;
        return this->QSharedMemory::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);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 292: //QSharedMemory::AccessMode
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QSharedMemory::AccessMode;
                    break;
                case Smoke::EnumDelete:
                    delete (QSharedMemory::AccessMode*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QSharedMemory::AccessMode*)xdata = (QSharedMemory::AccessMode)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QSharedMemory::AccessMode*)xdata;
                    break;
            }
            break;
        case 293: //QSharedMemory::SharedMemoryError
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QSharedMemory::SharedMemoryError;
                    break;
                case Smoke::EnumDelete:
                    delete (QSharedMemory::SharedMemoryError*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QSharedMemory::SharedMemoryError*)xdata = (QSharedMemory::SharedMemoryError)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QSharedMemory::SharedMemoryError*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QSharedMemory() { this->_binding->deleted(104, (void*)this); }
};
void xenum_QSharedMemory(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QSharedMemory::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QSharedMemory(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSharedMemory *xself = (x_QSharedMemory*)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_QSharedMemory::x_3(args);	break;
        case 4: x_QSharedMemory::x_4(args);	break;
        case 5: x_QSharedMemory::x_5(args);	break;
        case 6: x_QSharedMemory::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QSharedMemory::x_8(args);	break;
        case 9: x_QSharedMemory::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: x_QSharedMemory::x_26(args);	break;
        case 27: x_QSharedMemory::x_27(args);	break;
        case 28: x_QSharedMemory::x_28(args);	break;
        case 29: x_QSharedMemory::x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: x_QSharedMemory::x_32(args);	break;
        case 33: x_QSharedMemory::x_33(args);	break;
        case 34: x_QSharedMemory::x_34(args);	break;
        case 35: x_QSharedMemory::x_35(args);	break;
        case 36: x_QSharedMemory::x_36(args);	break;
        case 37: x_QSharedMemory::x_37(args);	break;
        case 38: x_QSharedMemory::x_38(args);	break;
        case 39: x_QSharedMemory::x_39(args);	break;
        case 40: x_QSharedMemory::x_40(args);	break;
        case 41: x_QSharedMemory::x_41(args);	break;
        case 42: x_QSharedMemory::x_42(args);	break;
        case 43: x_QSharedMemory::x_43(args);	break;
        case 44: delete (QSharedMemory*)xself;	break;
    }
}
class x_QSignalMapper : public QSignalMapper, 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<QSignalMapper*>(this))) {
            const QMetaObject* xret = ((const x_QSignalMapper*)this)->QSignalMapper::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QSignalMapper*)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<QSignalMapper*>(this))) {
            void* xret = this->QSignalMapper::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 = QSignalMapper::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 = QSignalMapper::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 = QSignalMapper::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 = QSignalMapper::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<QSignalMapper*>(this))) {
            int xret = this->QSignalMapper::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) {
        // QSignalMapper* QSignalMapper(QObject*)
        x_QSignalMapper* xret = new x_QSignalMapper((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSignalMapper(QObject* x1) : QSignalMapper(x1) {}
    void x_9(Smoke::Stack x) {
        // void setMapping(QObject*, int)
        this->QSignalMapper::setMapping((QObject*)x[1].s_class,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // void setMapping(QObject*, const QString&)
        this->QSignalMapper::setMapping((QObject*)x[1].s_class,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void setMapping(QObject*, QWidget*)
        this->QSignalMapper::setMapping((QObject*)x[1].s_class,(QWidget*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void setMapping(QObject*, QObject*)
        this->QSignalMapper::setMapping((QObject*)x[1].s_class,(QObject*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // void removeMappings(QObject*)
        this->QSignalMapper::removeMappings((QObject*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // QObject* mapping(int) const
        QObject* xret = ((const x_QSignalMapper*)this)->QSignalMapper::mapping((int)x[1].s_int);
        x[0].s_class = (void*)xret;
    }
    void x_15(Smoke::Stack x) {
        // QObject* mapping(const QString&) const
        QObject* xret = ((const x_QSignalMapper*)this)->QSignalMapper::mapping(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_16(Smoke::Stack x) {
        // QObject* mapping(QWidget*) const
        QObject* xret = ((const x_QSignalMapper*)this)->QSignalMapper::mapping((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_17(Smoke::Stack x) {
        // QObject* mapping(QObject*) const
        QObject* xret = ((const x_QSignalMapper*)this)->QSignalMapper::mapping((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_18(Smoke::Stack x) {
        // void mapped(int)
        this->QSignalMapper::mapped((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // void mapped(const QString&)
        this->QSignalMapper::mapped(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // void mapped(QWidget*)
        this->QSignalMapper::mapped((QWidget*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // void mapped(QObject*)
        this->QSignalMapper::mapped((QObject*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // void map()
        this->QSignalMapper::map();
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // void map(QObject*)
        this->QSignalMapper::map((QObject*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_24(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QSignalMapper::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_25(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QSignalMapper::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_26(Smoke::Stack x) {
        // QSignalMapper* QSignalMapper()
        x_QSignalMapper* xret = new x_QSignalMapper((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_27(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QSignalMapper::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(4549, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QSignalMapper::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(4550, (void*)this, x)) return (void*)x[0].s_class;
        return this->QSignalMapper::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(4555, (void*)this, x)) return (int)x[0].s_int;
        return this->QSignalMapper::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_QSignalMapper() { this->_binding->deleted(105, (void*)this); }
};
void xcall_QSignalMapper(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSignalMapper *xself = (x_QSignalMapper*)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_QSignalMapper::x_3(args);	break;
        case 4: x_QSignalMapper::x_4(args);	break;
        case 5: x_QSignalMapper::x_5(args);	break;
        case 6: x_QSignalMapper::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QSignalMapper::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: x_QSignalMapper::x_24(args);	break;
        case 25: x_QSignalMapper::x_25(args);	break;
        case 26: x_QSignalMapper::x_26(args);	break;
        case 27: x_QSignalMapper::x_27(args);	break;
        case 28: delete (QSignalMapper*)xself;	break;
    }
}
class x_QSignalTransition : public QSignalTransition, 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<QSignalTransition*>(this))) {
            const QMetaObject* xret = ((const x_QSignalTransition*)this)->QSignalTransition::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QSignalTransition*)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<QSignalTransition*>(this))) {
            void* xret = this->QSignalTransition::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 = QSignalTransition::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 = QSignalTransition::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 = QSignalTransition::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 = QSignalTransition::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<QSignalTransition*>(this))) {
            int xret = this->QSignalTransition::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) {
        // QSignalTransition* QSignalTransition(QState*)
        x_QSignalTransition* xret = new x_QSignalTransition((QState*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSignalTransition(QState* x1) : QSignalTransition(x1) {}
    static void x_9(Smoke::Stack x) {
        // QSignalTransition* QSignalTransition(QObject*, const char*, QState*)
        x_QSignalTransition* xret = new x_QSignalTransition((QObject*)x[1].s_class,(const char*)x[2].s_class,(QState*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSignalTransition(QObject* x1, const char* x2, QState* x3) : QSignalTransition(x1, x2, x3) {}
    void x_10(Smoke::Stack x) {
        // QObject* senderObject() const
        QObject* xret = ((const x_QSignalTransition*)this)->QSignalTransition::senderObject();
        x[0].s_class = (void*)xret;
    }
    void x_11(Smoke::Stack x) {
        // void setSenderObject(QObject*)
        this->QSignalTransition::setSenderObject((QObject*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // QByteArray signal() const
        QByteArray xret = ((const x_QSignalTransition*)this)->QSignalTransition::signal();
        x[0].s_class = (void*)new QByteArray(xret);
    }
    void x_13(Smoke::Stack x) {
        // void setSignal(const QByteArray&)
        this->QSignalTransition::setSignal(*(const QByteArray*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // bool eventTest(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSignalTransition*>(this))) {
            bool xret = this->QSignalTransition::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<QSignalTransition*>(this))) {
            this->QSignalTransition::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<QSignalTransition*>(this))) {
            bool xret = this->QSignalTransition::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 = QSignalTransition::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 = QSignalTransition::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) {
        // QSignalTransition* QSignalTransition()
        x_QSignalTransition* xret = new x_QSignalTransition((QState*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_20(Smoke::Stack x) {
        // QSignalTransition* QSignalTransition(QObject*, const char*)
        x_QSignalTransition* xret = new x_QSignalTransition((QObject*)x[1].s_class,(const char*)x[2].s_class,(QState*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_21(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QSignalTransition::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(4577, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QSignalTransition::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(4578, (void*)this, x)) return (void*)x[0].s_class;
        return this->QSignalTransition::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(4583, (void*)this, x)) return (int)x[0].s_int;
        return this->QSignalTransition::qt_metacall(x1, x2, x3);
    }
    virtual bool eventTest(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(4590, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSignalTransition::eventTest(x1);
    }
    virtual void onTransition(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(4591, (void*)this, x)) return;
        this->QSignalTransition::onTransition(x1);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(4592, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSignalTransition::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_QSignalTransition() { this->_binding->deleted(106, (void*)this); }
};
void xcall_QSignalTransition(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSignalTransition *xself = (x_QSignalTransition*)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_QSignalTransition::x_3(args);	break;
        case 4: x_QSignalTransition::x_4(args);	break;
        case 5: x_QSignalTransition::x_5(args);	break;
        case 6: x_QSignalTransition::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QSignalTransition::x_8(args);	break;
        case 9: x_QSignalTransition::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_QSignalTransition::x_17(args);	break;
        case 18: x_QSignalTransition::x_18(args);	break;
        case 19: x_QSignalTransition::x_19(args);	break;
        case 20: x_QSignalTransition::x_20(args);	break;
        case 21: x_QSignalTransition::x_21(args);	break;
        case 22: delete (QSignalTransition*)xself;	break;
    }
}
class x_QSize : public QSize {
    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) {
        // QSize* QSize()
        x_QSize* xret = new x_QSize();
        x[0].s_class = (void*)xret;
    }
    explicit x_QSize() : QSize() {}
    static void x_2(Smoke::Stack x) {
        // QSize* QSize(int, int)
        x_QSize* xret = new x_QSize((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSize(int x1, int x2) : QSize(x1, x2) {}
    void x_3(Smoke::Stack x) {
        // bool isNull() const
        bool xret = ((const x_QSize*)this)->QSize::isNull();
        x[0].s_bool = xret;
    }
    void x_4(Smoke::Stack x) {
        // bool isEmpty() const
        bool xret = ((const x_QSize*)this)->QSize::isEmpty();
        x[0].s_bool = xret;
    }
    void x_5(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_QSize*)this)->QSize::isValid();
        x[0].s_bool = xret;
    }
    void x_6(Smoke::Stack x) {
        // int width() const
        int xret = ((const x_QSize*)this)->QSize::width();
        x[0].s_int = xret;
    }
    void x_7(Smoke::Stack x) {
        // int height() const
        int xret = ((const x_QSize*)this)->QSize::height();
        x[0].s_int = xret;
    }
    void x_8(Smoke::Stack x) {
        // void setWidth(int)
        this->QSize::setWidth((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // void setHeight(int)
        this->QSize::setHeight((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // void transpose()
        this->QSize::transpose();
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void scale(int, int, Qt::AspectRatioMode)
        this->QSize::scale((int)x[1].s_int,(int)x[2].s_int,(Qt::AspectRatioMode)x[3].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void scale(const QSize&, Qt::AspectRatioMode)
        this->QSize::scale(*(const QSize*)x[1].s_class,(Qt::AspectRatioMode)x[2].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // QSize expandedTo(const QSize&) const
        QSize xret = ((const x_QSize*)this)->QSize::expandedTo(*(const QSize*)x[1].s_class);
        x[0].s_class = (void*)new QSize(xret);
    }
    void x_14(Smoke::Stack x) {
        // QSize boundedTo(const QSize&) const
        QSize xret = ((const x_QSize*)this)->QSize::boundedTo(*(const QSize*)x[1].s_class);
        x[0].s_class = (void*)new QSize(xret);
    }
    void x_15(Smoke::Stack x) {
        // int& rwidth()
        int& xret = this->QSize::rwidth();
        x[0].s_class = (void*)&xret;
    }
    void x_16(Smoke::Stack x) {
        // int& rheight()
        int& xret = this->QSize::rheight();
        x[0].s_class = (void*)&xret;
    }
    void x_17(Smoke::Stack x) {
        // QSize& operator+=(const QSize&)
        QSize& xret = this->QSize::operator+=(*(const QSize*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_18(Smoke::Stack x) {
        // QSize& operator-=(const QSize&)
        QSize& xret = this->QSize::operator-=(*(const QSize*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_19(Smoke::Stack x) {
        // QSize& operator*=(double)
        QSize& xret = this->QSize::operator*=((double)x[1].s_double);
        x[0].s_class = (void*)&xret;
    }
    void x_20(Smoke::Stack x) {
        // QSize& operator/=(double)
        QSize& xret = this->QSize::operator/=((double)x[1].s_double);
        x[0].s_class = (void*)&xret;
    }
    static void x_21(Smoke::Stack x) {
        // QSize* QSize(const QSize&)
        x_QSize* xret = new x_QSize(*(const QSize*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSize(const QSize& x1) : QSize(x1) {}
    ~x_QSize() { this->_binding->deleted(107, (void*)this); }
};
void xcall_QSize(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSize *xself = (x_QSize*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QSize::x_1(args);	break;
        case 2: x_QSize::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: x_QSize::x_21(args);	break;
        case 22: delete (QSize*)xself;	break;
    }
}
class x_QSizeF : public QSizeF {
    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) {
        // QSizeF* QSizeF()
        x_QSizeF* xret = new x_QSizeF();
        x[0].s_class = (void*)xret;
    }
    explicit x_QSizeF() : QSizeF() {}
    static void x_2(Smoke::Stack x) {
        // QSizeF* QSizeF(const QSize&)
        x_QSizeF* xret = new x_QSizeF(*(const QSize*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSizeF(const QSize& x1) : QSizeF(x1) {}
    static void x_3(Smoke::Stack x) {
        // QSizeF* QSizeF(double, double)
        x_QSizeF* xret = new x_QSizeF((double)x[1].s_double,(double)x[2].s_double);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSizeF(double x1, double x2) : QSizeF(x1, x2) {}
    void x_4(Smoke::Stack x) {
        // bool isNull() const
        bool xret = ((const x_QSizeF*)this)->QSizeF::isNull();
        x[0].s_bool = xret;
    }
    void x_5(Smoke::Stack x) {
        // bool isEmpty() const
        bool xret = ((const x_QSizeF*)this)->QSizeF::isEmpty();
        x[0].s_bool = xret;
    }
    void x_6(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_QSizeF*)this)->QSizeF::isValid();
        x[0].s_bool = xret;
    }
    void x_7(Smoke::Stack x) {
        // double width() const
        double xret = ((const x_QSizeF*)this)->QSizeF::width();
        x[0].s_double = xret;
    }
    void x_8(Smoke::Stack x) {
        // double height() const
        double xret = ((const x_QSizeF*)this)->QSizeF::height();
        x[0].s_double = xret;
    }
    void x_9(Smoke::Stack x) {
        // void setWidth(double)
        this->QSizeF::setWidth((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // void setHeight(double)
        this->QSizeF::setHeight((double)x[1].s_double);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void transpose()
        this->QSizeF::transpose();
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void scale(double, double, Qt::AspectRatioMode)
        this->QSizeF::scale((double)x[1].s_double,(double)x[2].s_double,(Qt::AspectRatioMode)x[3].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // void scale(const QSizeF&, Qt::AspectRatioMode)
        this->QSizeF::scale(*(const QSizeF*)x[1].s_class,(Qt::AspectRatioMode)x[2].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // QSizeF expandedTo(const QSizeF&) const
        QSizeF xret = ((const x_QSizeF*)this)->QSizeF::expandedTo(*(const QSizeF*)x[1].s_class);
        x[0].s_class = (void*)new QSizeF(xret);
    }
    void x_15(Smoke::Stack x) {
        // QSizeF boundedTo(const QSizeF&) const
        QSizeF xret = ((const x_QSizeF*)this)->QSizeF::boundedTo(*(const QSizeF*)x[1].s_class);
        x[0].s_class = (void*)new QSizeF(xret);
    }
    void x_16(Smoke::Stack x) {
        // double& rwidth()
        double& xret = this->QSizeF::rwidth();
        x[0].s_class = (void*)&xret;
    }
    void x_17(Smoke::Stack x) {
        // double& rheight()
        double& xret = this->QSizeF::rheight();
        x[0].s_class = (void*)&xret;
    }
    void x_18(Smoke::Stack x) {
        // QSizeF& operator+=(const QSizeF&)
        QSizeF& xret = this->QSizeF::operator+=(*(const QSizeF*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_19(Smoke::Stack x) {
        // QSizeF& operator-=(const QSizeF&)
        QSizeF& xret = this->QSizeF::operator-=(*(const QSizeF*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_20(Smoke::Stack x) {
        // QSizeF& operator*=(double)
        QSizeF& xret = this->QSizeF::operator*=((double)x[1].s_double);
        x[0].s_class = (void*)&xret;
    }
    void x_21(Smoke::Stack x) {
        // QSizeF& operator/=(double)
        QSizeF& xret = this->QSizeF::operator/=((double)x[1].s_double);
        x[0].s_class = (void*)&xret;
    }
    void x_22(Smoke::Stack x) {
        // QSize toSize() const
        QSize xret = ((const x_QSizeF*)this)->QSizeF::toSize();
        x[0].s_class = (void*)new QSize(xret);
    }
    static void x_23(Smoke::Stack x) {
        // QSizeF* QSizeF(const QSizeF&)
        x_QSizeF* xret = new x_QSizeF(*(const QSizeF*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSizeF(const QSizeF& x1) : QSizeF(x1) {}
    ~x_QSizeF() { this->_binding->deleted(108, (void*)this); }
};
void xcall_QSizeF(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSizeF *xself = (x_QSizeF*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QSizeF::x_1(args);	break;
        case 2: x_QSizeF::x_2(args);	break;
        case 3: x_QSizeF::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: x_QSizeF::x_23(args);	break;
        case 24: delete (QSizeF*)xself;	break;
    }
}
class x_QSocketNotifier : public QSocketNotifier, 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<QSocketNotifier*>(this))) {
            const QMetaObject* xret = ((const x_QSocketNotifier*)this)->QSocketNotifier::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QSocketNotifier*)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<QSocketNotifier*>(this))) {
            void* xret = this->QSocketNotifier::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 = QSocketNotifier::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 = QSocketNotifier::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 = QSocketNotifier::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 = QSocketNotifier::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<QSocketNotifier*>(this))) {
            int xret = this->QSocketNotifier::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) {
        // QSocketNotifier* QSocketNotifier(int, QSocketNotifier::Type, QObject*)
        x_QSocketNotifier* xret = new x_QSocketNotifier((int)x[1].s_int,(QSocketNotifier::Type)x[2].s_enum,(QObject*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QSocketNotifier(int x1, QSocketNotifier::Type x2, QObject* x3) : QSocketNotifier(x1, x2, x3) {}
    void x_9(Smoke::Stack x) {
        // int socket() const
        int xret = ((const x_QSocketNotifier*)this)->QSocketNotifier::socket();
        x[0].s_int = xret;
    }
    void x_10(Smoke::Stack x) {
        // QSocketNotifier::Type type() const
        QSocketNotifier::Type xret = ((const x_QSocketNotifier*)this)->QSocketNotifier::type();
        x[0].s_enum = xret;
    }
    void x_11(Smoke::Stack x) {
        // bool isEnabled() const
        bool xret = ((const x_QSocketNotifier*)this)->QSocketNotifier::isEnabled();
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // void setEnabled(bool)
        this->QSocketNotifier::setEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // void activated(int)
        this->QSocketNotifier::activated((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QSocketNotifier*>(this))) {
            bool xret = this->QSocketNotifier::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_15(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QSocketNotifier::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_16(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QSocketNotifier::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_17(Smoke::Stack x) {
        // QSocketNotifier* QSocketNotifier(int, QSocketNotifier::Type)
        x_QSocketNotifier* xret = new x_QSocketNotifier((int)x[1].s_int,(QSocketNotifier::Type)x[2].s_enum,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_18(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QSocketNotifier::staticMetaObject;
    }
    static void x_19(Smoke::Stack x) {
        x[0].s_enum = (long)QSocketNotifier::Read;
    }
    static void x_20(Smoke::Stack x) {
        x[0].s_enum = (long)QSocketNotifier::Write;
    }
    static void x_21(Smoke::Stack x) {
        x[0].s_enum = (long)QSocketNotifier::Exception;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(4645, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QSocketNotifier::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(4646, (void*)this, x)) return (void*)x[0].s_class;
        return this->QSocketNotifier::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(4651, (void*)this, x)) return (int)x[0].s_int;
        return this->QSocketNotifier::qt_metacall(x1, x2, x3);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(4658, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSocketNotifier::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 303: //QSocketNotifier::Type
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QSocketNotifier::Type;
                    break;
                case Smoke::EnumDelete:
                    delete (QSocketNotifier::Type*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QSocketNotifier::Type*)xdata = (QSocketNotifier::Type)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QSocketNotifier::Type*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QSocketNotifier() { this->_binding->deleted(109, (void*)this); }
};
void xenum_QSocketNotifier(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QSocketNotifier::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QSocketNotifier(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QSocketNotifier *xself = (x_QSocketNotifier*)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_QSocketNotifier::x_3(args);	break;
        case 4: x_QSocketNotifier::x_4(args);	break;
        case 5: x_QSocketNotifier::x_5(args);	break;
        case 6: x_QSocketNotifier::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QSocketNotifier::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: x_QSocketNotifier::x_15(args);	break;
        case 16: x_QSocketNotifier::x_16(args);	break;
        case 17: x_QSocketNotifier::x_17(args);	break;
        case 18: x_QSocketNotifier::x_18(args);	break;
        case 19: x_QSocketNotifier::x_19(args);	break;
        case 20: x_QSocketNotifier::x_20(args);	break;
        case 21: x_QSocketNotifier::x_21(args);	break;
        case 22: delete (QSocketNotifier*)xself;	break;
    }
}
class x_QState : public QState, 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<QState*>(this))) {
            const QMetaObject* xret = ((const x_QState*)this)->QState::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QState*)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<QState*>(this))) {
            void* xret = this->QState::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 = QState::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 = QState::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 = QState::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 = QState::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<QState*>(this))) {
            int xret = this->QState::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) {
        // QState* QState(QState*)
        x_QState* xret = new x_QState((QState*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QState(QState* x1) : QState(x1) {}
    static void x_9(Smoke::Stack x) {
        // QState* QState(QState::ChildMode, QState*)
        x_QState* xret = new x_QState((QState::ChildMode)x[1].s_enum,(QState*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QState(QState::ChildMode x1, QState* x2) : QState(x1, x2) {}
    void x_10(Smoke::Stack x) {
        // QAbstractState* errorState() const
        QAbstractState* xret = ((const x_QState*)this)->QState::errorState();
        x[0].s_class = (void*)xret;
    }
    void x_11(Smoke::Stack x) {
        // void setErrorState(QAbstractState*)
        this->QState::setErrorState((QAbstractState*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void addTransition(QAbstractTransition*)
        this->QState::addTransition((QAbstractTransition*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // QSignalTransition* addTransition(QObject*, const char*, QAbstractState*)
        QSignalTransition* xret = this->QState::addTransition((QObject*)x[1].s_class,(const char*)x[2].s_class,(QAbstractState*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_14(Smoke::Stack x) {
        // QAbstractTransition* addTransition(QAbstractState*)
        QAbstractTransition* xret = this->QState::addTransition((QAbstractState*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_15(Smoke::Stack x) {
        // void removeTransition(QAbstractTransition*)
        this->QState::removeTransition((QAbstractTransition*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // QList<QAbstractTransition*> transitions() const
        QList<QAbstractTransition*> xret = ((const x_QState*)this)->QState::transitions();
        x[0].s_class = (void*)new QList<QAbstractTransition*>(xret);
    }
    void x_17(Smoke::Stack x) {
        // QAbstractState* initialState() const
        QAbstractState* xret = ((const x_QState*)this)->QState::initialState();
        x[0].s_class = (void*)xret;
    }
    void x_18(Smoke::Stack x) {
        // void setInitialState(QAbstractState*)
        this->QState::setInitialState((QAbstractState*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // QState::ChildMode childMode() const
        QState::ChildMode xret = ((const x_QState*)this)->QState::childMode();
        x[0].s_enum = xret;
    }
    void x_20(Smoke::Stack x) {
        // void setChildMode(QState::ChildMode)
        this->QState::setChildMode((QState::ChildMode)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // void assignProperty(QObject*, const char*, const QVariant&)
        this->QState::assignProperty((QObject*)x[1].s_class,(const char*)x[2].s_class,*(const QVariant*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // void finished()
        this->QState::finished();
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // void propertiesAssigned()
        this->QState::propertiesAssigned();
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // void onEntry(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QState*>(this))) {
            this->QState::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_25(Smoke::Stack x) {
        // void onExit(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QState*>(this))) {
            this->QState::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_26(Smoke::Stack x) {
        // bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QState*>(this))) {
            bool xret = this->QState::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_27(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QState::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_28(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QState::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_29(Smoke::Stack x) {
        // QState* QState()
        x_QState* xret = new x_QState((QState*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_30(Smoke::Stack x) {
        // QState* QState(QState::ChildMode)
        x_QState* xret = new x_QState((QState::ChildMode)x[1].s_enum,(QState*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_31(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QState::staticMetaObject;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)QState::ExclusiveStates;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)QState::ParallelStates;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(4667, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QState::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(4668, (void*)this, x)) return (void*)x[0].s_class;
        return this->QState::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(4673, (void*)this, x)) return (int)x[0].s_int;
        return this->QState::qt_metacall(x1, x2, x3);
    }
    virtual void onEntry(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(4690, (void*)this, x)) return;
        this->QState::onEntry(x1);
    }
    virtual void onExit(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(4691, (void*)this, x)) return;
        this->QState::onExit(x1);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(4692, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QState::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 305: //QState::ChildMode
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QState::ChildMode;
                    break;
                case Smoke::EnumDelete:
                    delete (QState::ChildMode*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QState::ChildMode*)xdata = (QState::ChildMode)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QState::ChildMode*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QState() { this->_binding->deleted(110, (void*)this); }
};
void xenum_QState(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QState::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QState(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QState *xself = (x_QState*)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_QState::x_3(args);	break;
        case 4: x_QState::x_4(args);	break;
        case 5: x_QState::x_5(args);	break;
        case 6: x_QState::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QState::x_8(args);	break;
        case 9: x_QState::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: x_QState::x_27(args);	break;
        case 28: x_QState::x_28(args);	break;
        case 29: x_QState::x_29(args);	break;
        case 30: x_QState::x_30(args);	break;
        case 31: x_QState::x_31(args);	break;
        case 32: x_QState::x_32(args);	break;
        case 33: x_QState::x_33(args);	break;
        case 34: delete (QState*)xself;	break;
    }
}

}
