//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_QMetaProperty : public QMetaProperty {
    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) {
        // QMetaProperty* QMetaProperty()
        x_QMetaProperty* xret = new x_QMetaProperty();
        x[0].s_class = (void*)xret;
    }
    explicit x_QMetaProperty() : QMetaProperty() {}
    void x_2(Smoke::Stack x) {
        // const char* name() const
        const char* xret = ((const x_QMetaProperty*)this)->QMetaProperty::name();
        x[0].s_class = (void*)xret;
    }
    void x_3(Smoke::Stack x) {
        // const char* typeName() const
        const char* xret = ((const x_QMetaProperty*)this)->QMetaProperty::typeName();
        x[0].s_class = (void*)xret;
    }
    void x_4(Smoke::Stack x) {
        // QVariant::Type type() const
        QVariant::Type xret = ((const x_QMetaProperty*)this)->QMetaProperty::type();
        x[0].s_enum = xret;
    }
    void x_5(Smoke::Stack x) {
        // int userType() const
        int xret = ((const x_QMetaProperty*)this)->QMetaProperty::userType();
        x[0].s_int = xret;
    }
    void x_6(Smoke::Stack x) {
        // int propertyIndex() const
        int xret = ((const x_QMetaProperty*)this)->QMetaProperty::propertyIndex();
        x[0].s_int = xret;
    }
    void x_7(Smoke::Stack x) {
        // bool isReadable() const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::isReadable();
        x[0].s_bool = xret;
    }
    void x_8(Smoke::Stack x) {
        // bool isWritable() const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::isWritable();
        x[0].s_bool = xret;
    }
    void x_9(Smoke::Stack x) {
        // bool isResettable() const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::isResettable();
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // bool isDesignable(const QObject*) const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::isDesignable((const QObject*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // bool isScriptable(const QObject*) const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::isScriptable((const QObject*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // bool isStored(const QObject*) const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::isStored((const QObject*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_13(Smoke::Stack x) {
        // bool isEditable(const QObject*) const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::isEditable((const QObject*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_14(Smoke::Stack x) {
        // bool isUser(const QObject*) const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::isUser((const QObject*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // bool isConstant() const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::isConstant();
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // bool isFinal() const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::isFinal();
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // bool isFlagType() const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::isFlagType();
        x[0].s_bool = xret;
    }
    void x_18(Smoke::Stack x) {
        // bool isEnumType() const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::isEnumType();
        x[0].s_bool = xret;
    }
    void x_19(Smoke::Stack x) {
        // QMetaEnum enumerator() const
        QMetaEnum xret = ((const x_QMetaProperty*)this)->QMetaProperty::enumerator();
        x[0].s_class = (void*)new QMetaEnum(xret);
    }
    void x_20(Smoke::Stack x) {
        // bool hasNotifySignal() const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::hasNotifySignal();
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // QMetaMethod notifySignal() const
        QMetaMethod xret = ((const x_QMetaProperty*)this)->QMetaProperty::notifySignal();
        x[0].s_class = (void*)new QMetaMethod(xret);
    }
    void x_22(Smoke::Stack x) {
        // int notifySignalIndex() const
        int xret = ((const x_QMetaProperty*)this)->QMetaProperty::notifySignalIndex();
        x[0].s_int = xret;
    }
    void x_23(Smoke::Stack x) {
        // int revision() const
        int xret = ((const x_QMetaProperty*)this)->QMetaProperty::revision();
        x[0].s_int = xret;
    }
    void x_24(Smoke::Stack x) {
        // QVariant read(const QObject*) const
        QVariant xret = ((const x_QMetaProperty*)this)->QMetaProperty::read((const QObject*)x[1].s_class);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_25(Smoke::Stack x) {
        // bool write(QObject*, const QVariant&) const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::write((QObject*)x[1].s_class,*(const QVariant*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_26(Smoke::Stack x) {
        // bool reset(QObject*) const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::reset((QObject*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_27(Smoke::Stack x) {
        // bool hasStdCppSet() const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::hasStdCppSet();
        x[0].s_bool = xret;
    }
    void x_28(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::isValid();
        x[0].s_bool = xret;
    }
    void x_29(Smoke::Stack x) {
        // const QMetaObject* enclosingMetaObject() const
        const QMetaObject* xret = ((const x_QMetaProperty*)this)->QMetaProperty::enclosingMetaObject();
        x[0].s_class = (void*)xret;
    }
    static void x_30(Smoke::Stack x) {
        // QMetaProperty* QMetaProperty(const QMetaProperty&)
        x_QMetaProperty* xret = new x_QMetaProperty(*(const QMetaProperty*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QMetaProperty(const QMetaProperty& x1) : QMetaProperty(x1) {}
    void x_31(Smoke::Stack x) {
        // bool isDesignable() const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::isDesignable((const QObject*)0);
        x[0].s_bool = xret;
    }
    void x_32(Smoke::Stack x) {
        // bool isScriptable() const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::isScriptable((const QObject*)0);
        x[0].s_bool = xret;
    }
    void x_33(Smoke::Stack x) {
        // bool isStored() const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::isStored((const QObject*)0);
        x[0].s_bool = xret;
    }
    void x_34(Smoke::Stack x) {
        // bool isEditable() const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::isEditable((const QObject*)0);
        x[0].s_bool = xret;
    }
    void x_35(Smoke::Stack x) {
        // bool isUser() const
        bool xret = ((const x_QMetaProperty*)this)->QMetaProperty::isUser((const QObject*)0);
        x[0].s_bool = xret;
    }
    ~x_QMetaProperty() { this->_binding->deleted(74, (void*)this); }
};
void xcall_QMetaProperty(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QMetaProperty *xself = (x_QMetaProperty*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QMetaProperty::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: x_QMetaProperty::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: delete (QMetaProperty*)xself;	break;
    }
}
class x_QMetaType : public QMetaType {
    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) {
        // static void registerStreamOperators(const char*, void(*)(QDataStream&,const void*), void(*)(QDataStream&,void*))
        QMetaType::registerStreamOperators((const char*)x[1].s_class,(void(*)(QDataStream&,const void*))x[2].s_class,(void(*)(QDataStream&,void*))x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_2(Smoke::Stack x) {
        // static void registerStreamOperators(int, void(*)(QDataStream&,const void*), void(*)(QDataStream&,void*))
        QMetaType::registerStreamOperators((int)x[1].s_int,(void(*)(QDataStream&,const void*))x[2].s_class,(void(*)(QDataStream&,void*))x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_3(Smoke::Stack x) {
        // static int registerType(const char*, void(*)(void*), void*(*)(const void*))
        int xret = QMetaType::registerType((const char*)x[1].s_class,(void(*)(void*))x[2].s_class,(void*(*)(const void*))x[3].s_class);
        x[0].s_int = xret;
    }
    static void x_4(Smoke::Stack x) {
        // static int registerTypedef(const char*, int)
        int xret = QMetaType::registerTypedef((const char*)x[1].s_class,(int)x[2].s_int);
        x[0].s_int = xret;
    }
    static void x_5(Smoke::Stack x) {
        // static int type(const char*)
        int xret = QMetaType::type((const char*)x[1].s_class);
        x[0].s_int = xret;
    }
    static void x_6(Smoke::Stack x) {
        // static const char* typeName(int)
        const char* xret = QMetaType::typeName((int)x[1].s_int);
        x[0].s_class = (void*)xret;
    }
    static void x_7(Smoke::Stack x) {
        // static bool isRegistered(int)
        bool xret = QMetaType::isRegistered((int)x[1].s_int);
        x[0].s_bool = xret;
    }
    static void x_8(Smoke::Stack x) {
        // static void* construct(int, const void*)
        void* xret = QMetaType::construct((int)x[1].s_int,(const void*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    static void x_9(Smoke::Stack x) {
        // static void destroy(int, void*)
        QMetaType::destroy((int)x[1].s_int,(void*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_10(Smoke::Stack x) {
        // static void unregisterType(const char*)
        QMetaType::unregisterType((const char*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_11(Smoke::Stack x) {
        // static bool save(QDataStream&, int, const void*)
        bool xret = QMetaType::save(*(QDataStream*)x[1].s_class,(int)x[2].s_int,(const void*)x[3].s_class);
        x[0].s_bool = xret;
    }
    static void x_12(Smoke::Stack x) {
        // static bool load(QDataStream&, int, void*)
        bool xret = QMetaType::load(*(QDataStream*)x[1].s_class,(int)x[2].s_int,(void*)x[3].s_class);
        x[0].s_bool = xret;
    }
    static void x_13(Smoke::Stack x) {
        // QMetaType* QMetaType()
        x_QMetaType* xret = new x_QMetaType();
        x[0].s_class = (void*)xret;
    }
    explicit x_QMetaType() : QMetaType() {}
    static void x_14(Smoke::Stack x) {
        // QMetaType* QMetaType(const QMetaType&)
        x_QMetaType* xret = new x_QMetaType(*(const QMetaType*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QMetaType(const QMetaType& x1) : QMetaType(x1) {}
    static void x_15(Smoke::Stack x) {
        // static void* construct(int)
        void* xret = QMetaType::construct((int)x[1].s_int,(const void*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_16(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::Void;
    }
    static void x_17(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::Bool;
    }
    static void x_18(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::Int;
    }
    static void x_19(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::UInt;
    }
    static void x_20(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::LongLong;
    }
    static void x_21(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::ULongLong;
    }
    static void x_22(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::Double;
    }
    static void x_23(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QChar;
    }
    static void x_24(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QVariantMap;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QVariantList;
    }
    static void x_26(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QString;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QStringList;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QByteArray;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QBitArray;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QDate;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QTime;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QDateTime;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QUrl;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QLocale;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QRect;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QRectF;
    }
    static void x_37(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QSize;
    }
    static void x_38(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QSizeF;
    }
    static void x_39(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QLine;
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QLineF;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QPoint;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QPointF;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QRegExp;
    }
    static void x_44(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QVariantHash;
    }
    static void x_45(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QEasingCurve;
    }
    static void x_46(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::LastCoreType;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::FirstGuiType;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QFont;
    }
    static void x_49(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QPixmap;
    }
    static void x_50(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QBrush;
    }
    static void x_51(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QColor;
    }
    static void x_52(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QPalette;
    }
    static void x_53(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QIcon;
    }
    static void x_54(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QImage;
    }
    static void x_55(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QPolygon;
    }
    static void x_56(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QRegion;
    }
    static void x_57(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QBitmap;
    }
    static void x_58(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QCursor;
    }
    static void x_59(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QSizePolicy;
    }
    static void x_60(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QKeySequence;
    }
    static void x_61(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QPen;
    }
    static void x_62(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QTextLength;
    }
    static void x_63(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QTextFormat;
    }
    static void x_64(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QMatrix;
    }
    static void x_65(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QTransform;
    }
    static void x_66(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QMatrix4x4;
    }
    static void x_67(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QVector2D;
    }
    static void x_68(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QVector3D;
    }
    static void x_69(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QVector4D;
    }
    static void x_70(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QQuaternion;
    }
    static void x_71(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::LastGuiType;
    }
    static void x_72(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::FirstCoreExtType;
    }
    static void x_73(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::VoidStar;
    }
    static void x_74(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::Long;
    }
    static void x_75(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::Short;
    }
    static void x_76(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::Char;
    }
    static void x_77(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::ULong;
    }
    static void x_78(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::UShort;
    }
    static void x_79(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::UChar;
    }
    static void x_80(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::Float;
    }
    static void x_81(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QObjectStar;
    }
    static void x_82(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QWidgetStar;
    }
    static void x_83(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QVariant;
    }
    static void x_84(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::LastCoreExtType;
    }
    static void x_85(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::QReal;
    }
    static void x_86(Smoke::Stack x) {
        x[0].s_enum = (long)QMetaType::User;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 229: //QMetaType::Type
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QMetaType::Type;
                    break;
                case Smoke::EnumDelete:
                    delete (QMetaType::Type*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QMetaType::Type*)xdata = (QMetaType::Type)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QMetaType::Type*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QMetaType() { this->_binding->deleted(75, (void*)this); }
};
void xenum_QMetaType(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QMetaType::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QMetaType(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QMetaType *xself = (x_QMetaType*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QMetaType::x_1(args);	break;
        case 2: x_QMetaType::x_2(args);	break;
        case 3: x_QMetaType::x_3(args);	break;
        case 4: x_QMetaType::x_4(args);	break;
        case 5: x_QMetaType::x_5(args);	break;
        case 6: x_QMetaType::x_6(args);	break;
        case 7: x_QMetaType::x_7(args);	break;
        case 8: x_QMetaType::x_8(args);	break;
        case 9: x_QMetaType::x_9(args);	break;
        case 10: x_QMetaType::x_10(args);	break;
        case 11: x_QMetaType::x_11(args);	break;
        case 12: x_QMetaType::x_12(args);	break;
        case 13: x_QMetaType::x_13(args);	break;
        case 14: x_QMetaType::x_14(args);	break;
        case 15: x_QMetaType::x_15(args);	break;
        case 16: x_QMetaType::x_16(args);	break;
        case 17: x_QMetaType::x_17(args);	break;
        case 18: x_QMetaType::x_18(args);	break;
        case 19: x_QMetaType::x_19(args);	break;
        case 20: x_QMetaType::x_20(args);	break;
        case 21: x_QMetaType::x_21(args);	break;
        case 22: x_QMetaType::x_22(args);	break;
        case 23: x_QMetaType::x_23(args);	break;
        case 24: x_QMetaType::x_24(args);	break;
        case 25: x_QMetaType::x_25(args);	break;
        case 26: x_QMetaType::x_26(args);	break;
        case 27: x_QMetaType::x_27(args);	break;
        case 28: x_QMetaType::x_28(args);	break;
        case 29: x_QMetaType::x_29(args);	break;
        case 30: x_QMetaType::x_30(args);	break;
        case 31: x_QMetaType::x_31(args);	break;
        case 32: x_QMetaType::x_32(args);	break;
        case 33: x_QMetaType::x_33(args);	break;
        case 34: x_QMetaType::x_34(args);	break;
        case 35: x_QMetaType::x_35(args);	break;
        case 36: x_QMetaType::x_36(args);	break;
        case 37: x_QMetaType::x_37(args);	break;
        case 38: x_QMetaType::x_38(args);	break;
        case 39: x_QMetaType::x_39(args);	break;
        case 40: x_QMetaType::x_40(args);	break;
        case 41: x_QMetaType::x_41(args);	break;
        case 42: x_QMetaType::x_42(args);	break;
        case 43: x_QMetaType::x_43(args);	break;
        case 44: x_QMetaType::x_44(args);	break;
        case 45: x_QMetaType::x_45(args);	break;
        case 46: x_QMetaType::x_46(args);	break;
        case 47: x_QMetaType::x_47(args);	break;
        case 48: x_QMetaType::x_48(args);	break;
        case 49: x_QMetaType::x_49(args);	break;
        case 50: x_QMetaType::x_50(args);	break;
        case 51: x_QMetaType::x_51(args);	break;
        case 52: x_QMetaType::x_52(args);	break;
        case 53: x_QMetaType::x_53(args);	break;
        case 54: x_QMetaType::x_54(args);	break;
        case 55: x_QMetaType::x_55(args);	break;
        case 56: x_QMetaType::x_56(args);	break;
        case 57: x_QMetaType::x_57(args);	break;
        case 58: x_QMetaType::x_58(args);	break;
        case 59: x_QMetaType::x_59(args);	break;
        case 60: x_QMetaType::x_60(args);	break;
        case 61: x_QMetaType::x_61(args);	break;
        case 62: x_QMetaType::x_62(args);	break;
        case 63: x_QMetaType::x_63(args);	break;
        case 64: x_QMetaType::x_64(args);	break;
        case 65: x_QMetaType::x_65(args);	break;
        case 66: x_QMetaType::x_66(args);	break;
        case 67: x_QMetaType::x_67(args);	break;
        case 68: x_QMetaType::x_68(args);	break;
        case 69: x_QMetaType::x_69(args);	break;
        case 70: x_QMetaType::x_70(args);	break;
        case 71: x_QMetaType::x_71(args);	break;
        case 72: x_QMetaType::x_72(args);	break;
        case 73: x_QMetaType::x_73(args);	break;
        case 74: x_QMetaType::x_74(args);	break;
        case 75: x_QMetaType::x_75(args);	break;
        case 76: x_QMetaType::x_76(args);	break;
        case 77: x_QMetaType::x_77(args);	break;
        case 78: x_QMetaType::x_78(args);	break;
        case 79: x_QMetaType::x_79(args);	break;
        case 80: x_QMetaType::x_80(args);	break;
        case 81: x_QMetaType::x_81(args);	break;
        case 82: x_QMetaType::x_82(args);	break;
        case 83: x_QMetaType::x_83(args);	break;
        case 84: x_QMetaType::x_84(args);	break;
        case 85: x_QMetaType::x_85(args);	break;
        case 86: x_QMetaType::x_86(args);	break;
        case 87: delete (QMetaType*)xself;	break;
    }
}
class x_QMimeData : public QMimeData, 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<QMimeData*>(this))) {
            const QMetaObject* xret = ((const x_QMimeData*)this)->QMimeData::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QMimeData*)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<QMimeData*>(this))) {
            void* xret = this->QMimeData::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 = QMimeData::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 = QMimeData::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 = QMimeData::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 = QMimeData::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<QMimeData*>(this))) {
            int xret = this->QMimeData::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) {
        // QMimeData* QMimeData()
        x_QMimeData* xret = new x_QMimeData();
        x[0].s_class = (void*)xret;
    }
    explicit x_QMimeData() : QMimeData() {}
    void x_9(Smoke::Stack x) {
        // QList<QUrl> urls() const
        QList<QUrl> xret = ((const x_QMimeData*)this)->QMimeData::urls();
        x[0].s_class = (void*)new QList<QUrl>(xret);
    }
    void x_10(Smoke::Stack x) {
        // void setUrls(const QList<QUrl>&)
        this->QMimeData::setUrls(*(const QList<QUrl>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // bool hasUrls() const
        bool xret = ((const x_QMimeData*)this)->QMimeData::hasUrls();
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // QString text() const
        QString xret = ((const x_QMimeData*)this)->QMimeData::text();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_13(Smoke::Stack x) {
        // void setText(const QString&)
        this->QMimeData::setText(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // bool hasText() const
        bool xret = ((const x_QMimeData*)this)->QMimeData::hasText();
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // QString html() const
        QString xret = ((const x_QMimeData*)this)->QMimeData::html();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_16(Smoke::Stack x) {
        // void setHtml(const QString&)
        this->QMimeData::setHtml(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // bool hasHtml() const
        bool xret = ((const x_QMimeData*)this)->QMimeData::hasHtml();
        x[0].s_bool = xret;
    }
    void x_18(Smoke::Stack x) {
        // QVariant imageData() const
        QVariant xret = ((const x_QMimeData*)this)->QMimeData::imageData();
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_19(Smoke::Stack x) {
        // void setImageData(const QVariant&)
        this->QMimeData::setImageData(*(const QVariant*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // bool hasImage() const
        bool xret = ((const x_QMimeData*)this)->QMimeData::hasImage();
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // QVariant colorData() const
        QVariant xret = ((const x_QMimeData*)this)->QMimeData::colorData();
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_22(Smoke::Stack x) {
        // void setColorData(const QVariant&)
        this->QMimeData::setColorData(*(const QVariant*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // bool hasColor() const
        bool xret = ((const x_QMimeData*)this)->QMimeData::hasColor();
        x[0].s_bool = xret;
    }
    void x_24(Smoke::Stack x) {
        // QByteArray data(const QString&) const
        QByteArray xret = ((const x_QMimeData*)this)->QMimeData::data(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QByteArray(xret);
    }
    void x_25(Smoke::Stack x) {
        // void setData(const QString&, const QByteArray&)
        this->QMimeData::setData(*(const QString*)x[1].s_class,*(const QByteArray*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // void removeFormat(const QString&)
        this->QMimeData::removeFormat(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // virtual bool hasFormat(const QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QMimeData*>(this))) {
            bool xret = ((const x_QMimeData*)this)->QMimeData::hasFormat(*(const QString*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QMimeData*)this)->hasFormat(*(const QString*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_28(Smoke::Stack x) {
        // virtual QStringList formats() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QMimeData*>(this))) {
            QStringList xret = ((const x_QMimeData*)this)->QMimeData::formats();
            x[0].s_class = (void*)new QStringList(xret);
        } else {
            QStringList xret = ((const x_QMimeData*)this)->formats();
            x[0].s_class = (void*)new QStringList(xret);
        }
    }
    void x_29(Smoke::Stack x) {
        // void clear()
        this->QMimeData::clear();
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // virtual QVariant retrieveData(const QString&, QVariant::Type) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QMimeData*>(this))) {
            QVariant xret = ((const x_QMimeData*)this)->QMimeData::retrieveData(*(const QString*)x[1].s_class,(QVariant::Type)x[2].s_enum);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = ((const x_QMimeData*)this)->retrieveData(*(const QString*)x[1].s_class,(QVariant::Type)x[2].s_enum);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    static void x_31(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QMimeData::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_32(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QMimeData::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_33(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QMimeData::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3735, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QMimeData::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3736, (void*)this, x)) return (void*)x[0].s_class;
        return this->QMimeData::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(3741, (void*)this, x)) return (int)x[0].s_int;
        return this->QMimeData::qt_metacall(x1, x2, x3);
    }
    virtual bool hasFormat(const QString& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3761, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QMimeData::hasFormat(x1);
    }
    virtual QStringList formats() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3762, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QMimeData::formats();
    }
    virtual QVariant retrieveData(const QString& x1, QVariant::Type x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(3764, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QMimeData::retrieveData(x1, x2);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3804, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(3805, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3841, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3842, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3843, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3844, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3845, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_QMimeData() { this->_binding->deleted(76, (void*)this); }
};
void xcall_QMimeData(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QMimeData *xself = (x_QMimeData*)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_QMimeData::x_3(args);	break;
        case 4: x_QMimeData::x_4(args);	break;
        case 5: x_QMimeData::x_5(args);	break;
        case 6: x_QMimeData::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QMimeData::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: x_QMimeData::x_31(args);	break;
        case 32: x_QMimeData::x_32(args);	break;
        case 33: x_QMimeData::x_33(args);	break;
        case 34: delete (QMimeData*)xself;	break;
    }
}
class x_QModelIndex : public QModelIndex {
    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) {
        // QModelIndex* QModelIndex()
        x_QModelIndex* xret = new x_QModelIndex();
        x[0].s_class = (void*)xret;
    }
    explicit x_QModelIndex() : QModelIndex() {}
    static void x_2(Smoke::Stack x) {
        // QModelIndex* QModelIndex(const QModelIndex&)
        x_QModelIndex* xret = new x_QModelIndex(*(const QModelIndex*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QModelIndex(const QModelIndex& x1) : QModelIndex(x1) {}
    void x_3(Smoke::Stack x) {
        // int row() const
        int xret = ((const x_QModelIndex*)this)->QModelIndex::row();
        x[0].s_int = xret;
    }
    void x_4(Smoke::Stack x) {
        // int column() const
        int xret = ((const x_QModelIndex*)this)->QModelIndex::column();
        x[0].s_int = xret;
    }
    void x_5(Smoke::Stack x) {
        // void* internalPointer() const
        void* xret = ((const x_QModelIndex*)this)->QModelIndex::internalPointer();
        x[0].s_class = (void*)xret;
    }
    void x_6(Smoke::Stack x) {
        // long long internalId() const
        long long xret = ((const x_QModelIndex*)this)->QModelIndex::internalId();
        x[0].s_class = (void*)new long long(xret);
    }
    void x_7(Smoke::Stack x) {
        // QModelIndex parent() const
        QModelIndex xret = ((const x_QModelIndex*)this)->QModelIndex::parent();
        x[0].s_class = (void*)new QModelIndex(xret);
    }
    void x_8(Smoke::Stack x) {
        // QModelIndex sibling(int, int) const
        QModelIndex xret = ((const x_QModelIndex*)this)->QModelIndex::sibling((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_class = (void*)new QModelIndex(xret);
    }
    void x_9(Smoke::Stack x) {
        // QModelIndex child(int, int) const
        QModelIndex xret = ((const x_QModelIndex*)this)->QModelIndex::child((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_class = (void*)new QModelIndex(xret);
    }
    void x_10(Smoke::Stack x) {
        // QVariant data(int) const
        QVariant xret = ((const x_QModelIndex*)this)->QModelIndex::data((int)x[1].s_int);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_11(Smoke::Stack x) {
        // QFlags<Qt::ItemFlag> flags() const
        QFlags<Qt::ItemFlag> xret = ((const x_QModelIndex*)this)->QModelIndex::flags();
        x[0].s_uint = (uint)xret;
    }
    void x_12(Smoke::Stack x) {
        // const QAbstractItemModel* model() const
        const QAbstractItemModel* xret = ((const x_QModelIndex*)this)->QModelIndex::model();
        x[0].s_class = (void*)xret;
    }
    void x_13(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_QModelIndex*)this)->QModelIndex::isValid();
        x[0].s_bool = xret;
    }
    void x_14(Smoke::Stack x) {
        // bool operator==(const QModelIndex&) const
        bool xret = ((const x_QModelIndex*)this)->QModelIndex::operator==(*(const QModelIndex*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // bool operator!=(const QModelIndex&) const
        bool xret = ((const x_QModelIndex*)this)->QModelIndex::operator!=(*(const QModelIndex*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // bool operator<(const QModelIndex&) const
        bool xret = ((const x_QModelIndex*)this)->QModelIndex::operator<(*(const QModelIndex*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // QVariant data() const
        QVariant xret = ((const x_QModelIndex*)this)->QModelIndex::data((int)Qt::DisplayRole);
        x[0].s_class = (void*)new QVariant(xret);
    }
    ~x_QModelIndex() { this->_binding->deleted(77, (void*)this); }
};
void xcall_QModelIndex(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QModelIndex *xself = (x_QModelIndex*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QModelIndex::x_1(args);	break;
        case 2: x_QModelIndex::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: delete (QModelIndex*)xself;	break;
    }
}
class x_QNoDebug : public QNoDebug {
    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) {
        // QNoDebug* QNoDebug()
        x_QNoDebug* xret = new x_QNoDebug();
        x[0].s_class = (void*)xret;
    }
    explicit x_QNoDebug() : QNoDebug() {}
    static void x_2(Smoke::Stack x) {
        // QNoDebug* QNoDebug(const QDebug&)
        x_QNoDebug* xret = new x_QNoDebug(*(const QDebug*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QNoDebug(const QDebug& x1) : QNoDebug(x1) {}
    void x_3(Smoke::Stack x) {
        // QNoDebug& operator<<(QTextStream&(*)(QTextStream&))
        QNoDebug& xret = this->QNoDebug::operator<<((QTextStream&(*)(QTextStream&))x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_4(Smoke::Stack x) {
        // QNoDebug& operator<<(QTextStreamManipulator)
        QNoDebug& xret = this->QNoDebug::operator<<(*(QTextStreamManipulator*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // QNoDebug& space()
        QNoDebug& xret = this->QNoDebug::space();
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // QNoDebug& nospace()
        QNoDebug& xret = this->QNoDebug::nospace();
        x[0].s_class = (void*)&xret;
    }
    void x_7(Smoke::Stack x) {
        // QNoDebug& maybeSpace()
        QNoDebug& xret = this->QNoDebug::maybeSpace();
        x[0].s_class = (void*)&xret;
    }
    static void x_8(Smoke::Stack x) {
        // QNoDebug* QNoDebug(const QNoDebug&)
        x_QNoDebug* xret = new x_QNoDebug(*(const QNoDebug*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QNoDebug(const QNoDebug& x1) : QNoDebug(x1) {}
    ~x_QNoDebug() { this->_binding->deleted(79, (void*)this); }
};
void xcall_QNoDebug(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QNoDebug *xself = (x_QNoDebug*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QNoDebug::x_1(args);	break;
        case 2: x_QNoDebug::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: x_QNoDebug::x_8(args);	break;
        case 9: delete (QNoDebug*)xself;	break;
    }
}
class x_QObject : public QObject, 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<QObject*>(this))) {
            const QMetaObject* xret = ((const x_QObject*)this)->QObject::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QObject*)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<QObject*>(this))) {
            void* xret = this->QObject::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 = QObject::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 = QObject::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 = QObject::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 = QObject::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<QObject*>(this))) {
            int xret = this->QObject::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) {
        // QObject* QObject(QObject*)
        x_QObject* xret = new x_QObject((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QObject(QObject* x1) : QObject(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual bool event(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QObject*>(this))) {
            bool xret = this->QObject::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_10(Smoke::Stack x) {
        // virtual bool eventFilter(QObject*, QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QObject*>(this))) {
            bool xret = this->QObject::eventFilter((QObject*)x[1].s_class,(QEvent*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->eventFilter((QObject*)x[1].s_class,(QEvent*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // QString objectName() const
        QString xret = ((const x_QObject*)this)->QObject::objectName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_12(Smoke::Stack x) {
        // void setObjectName(const QString&)
        this->QObject::setObjectName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // bool isWidgetType() const
        bool xret = ((const x_QObject*)this)->QObject::isWidgetType();
        x[0].s_bool = xret;
    }
    void x_14(Smoke::Stack x) {
        // bool signalsBlocked() const
        bool xret = ((const x_QObject*)this)->QObject::signalsBlocked();
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // bool blockSignals(bool)
        bool xret = this->QObject::blockSignals((bool)x[1].s_bool);
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // QThread* thread() const
        QThread* xret = ((const x_QObject*)this)->QObject::thread();
        x[0].s_class = (void*)xret;
    }
    void x_17(Smoke::Stack x) {
        // void moveToThread(QThread*)
        this->QObject::moveToThread((QThread*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // int startTimer(int)
        int xret = this->QObject::startTimer((int)x[1].s_int);
        x[0].s_int = xret;
    }
    void x_19(Smoke::Stack x) {
        // void killTimer(int)
        this->QObject::killTimer((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // const QList<QObject*>& children() const
        const QList<QObject*>& xret = ((const x_QObject*)this)->QObject::children();
        x[0].s_class = (void*)&xret;
    }
    void x_21(Smoke::Stack x) {
        // void setParent(QObject*)
        this->QObject::setParent((QObject*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // void installEventFilter(QObject*)
        this->QObject::installEventFilter((QObject*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // void removeEventFilter(QObject*)
        this->QObject::removeEventFilter((QObject*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_24(Smoke::Stack x) {
        // static bool connect(const QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)
        bool xret = QObject::connect((const QObject*)x[1].s_class,(const char*)x[2].s_class,(const QObject*)x[3].s_class,(const char*)x[4].s_class,(Qt::ConnectionType)x[5].s_enum);
        x[0].s_bool = xret;
    }
    static void x_25(Smoke::Stack x) {
        // static bool connect(const QObject*, const QMetaMethod&, const QObject*, const QMetaMethod&, Qt::ConnectionType)
        bool xret = QObject::connect((const QObject*)x[1].s_class,*(const QMetaMethod*)x[2].s_class,(const QObject*)x[3].s_class,*(const QMetaMethod*)x[4].s_class,(Qt::ConnectionType)x[5].s_enum);
        x[0].s_bool = xret;
    }
    void x_26(Smoke::Stack x) {
        // bool connect(const QObject*, const char*, const char*, Qt::ConnectionType) const
        bool xret = ((const x_QObject*)this)->QObject::connect((const QObject*)x[1].s_class,(const char*)x[2].s_class,(const char*)x[3].s_class,(Qt::ConnectionType)x[4].s_enum);
        x[0].s_bool = xret;
    }
    static void x_27(Smoke::Stack x) {
        // static bool disconnect(const QObject*, const char*, const QObject*, const char*)
        bool xret = QObject::disconnect((const QObject*)x[1].s_class,(const char*)x[2].s_class,(const QObject*)x[3].s_class,(const char*)x[4].s_class);
        x[0].s_bool = xret;
    }
    static void x_28(Smoke::Stack x) {
        // static bool disconnect(const QObject*, const QMetaMethod&, const QObject*, const QMetaMethod&)
        bool xret = QObject::disconnect((const QObject*)x[1].s_class,*(const QMetaMethod*)x[2].s_class,(const QObject*)x[3].s_class,*(const QMetaMethod*)x[4].s_class);
        x[0].s_bool = xret;
    }
    void x_29(Smoke::Stack x) {
        // bool disconnect(const char*, const QObject*, const char*)
        bool xret = this->QObject::disconnect((const char*)x[1].s_class,(const QObject*)x[2].s_class,(const char*)x[3].s_class);
        x[0].s_bool = xret;
    }
    void x_30(Smoke::Stack x) {
        // bool disconnect(const QObject*, const char*)
        bool xret = this->QObject::disconnect((const QObject*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_31(Smoke::Stack x) {
        // void dumpObjectTree()
        this->QObject::dumpObjectTree();
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // void dumpObjectInfo()
        this->QObject::dumpObjectInfo();
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // bool setProperty(const char*, const QVariant&)
        bool xret = this->QObject::setProperty((const char*)x[1].s_class,*(const QVariant*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_34(Smoke::Stack x) {
        // QVariant property(const char*) const
        QVariant xret = ((const x_QObject*)this)->QObject::property((const char*)x[1].s_class);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_35(Smoke::Stack x) {
        // QList<QByteArray> dynamicPropertyNames() const
        QList<QByteArray> xret = ((const x_QObject*)this)->QObject::dynamicPropertyNames();
        x[0].s_class = (void*)new QList<QByteArray>(xret);
    }
    static void x_36(Smoke::Stack x) {
        // static unsigned int registerUserData()
        unsigned int xret = QObject::registerUserData();
        x[0].s_uint = xret;
    }
    void x_37(Smoke::Stack x) {
        // void setUserData(unsigned int, QObjectUserData*)
        this->QObject::setUserData((unsigned int)x[1].s_uint,(QObjectUserData*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_38(Smoke::Stack x) {
        // QObjectUserData* userData(unsigned int) const
        QObjectUserData* xret = ((const x_QObject*)this)->QObject::userData((unsigned int)x[1].s_uint);
        x[0].s_class = (void*)xret;
    }
    void x_39(Smoke::Stack x) {
        // void destroyed(QObject*)
        this->QObject::destroyed((QObject*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_40(Smoke::Stack x) {
        // QObject* parent() const
        QObject* xret = ((const x_QObject*)this)->QObject::parent();
        x[0].s_class = (void*)xret;
    }
    void x_41(Smoke::Stack x) {
        // bool inherits(const char*) const
        bool xret = ((const x_QObject*)this)->QObject::inherits((const char*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_42(Smoke::Stack x) {
        // void deleteLater()
        this->QObject::deleteLater();
        (void)x; // noop (for compiler warning)
    }
    void x_43(Smoke::Stack x) {
        // QObject* sender() const
        QObject* xret = ((const x_QObject*)this)->QObject::sender();
        x[0].s_class = (void*)xret;
    }
    void x_44(Smoke::Stack x) {
        // int senderSignalIndex() const
        int xret = ((const x_QObject*)this)->QObject::senderSignalIndex();
        x[0].s_int = xret;
    }
    void x_45(Smoke::Stack x) {
        // int receivers(const char*) const
        int xret = ((const x_QObject*)this)->QObject::receivers((const char*)x[1].s_class);
        x[0].s_int = xret;
    }
    void x_46(Smoke::Stack x) {
        // virtual void timerEvent(QTimerEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QObject*>(this))) {
            this->QObject::timerEvent((QTimerEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->timerEvent((QTimerEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_47(Smoke::Stack x) {
        // virtual void childEvent(QChildEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QObject*>(this))) {
            this->QObject::childEvent((QChildEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->childEvent((QChildEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_48(Smoke::Stack x) {
        // virtual void customEvent(QEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QObject*>(this))) {
            this->QObject::customEvent((QEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->customEvent((QEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_49(Smoke::Stack x) {
        // virtual void connectNotify(const char*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QObject*>(this))) {
            this->QObject::connectNotify((const char*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->connectNotify((const char*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_50(Smoke::Stack x) {
        // virtual void disconnectNotify(const char*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QObject*>(this))) {
            this->QObject::disconnectNotify((const char*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->disconnectNotify((const char*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_51(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QObject::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_52(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QObject::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_53(Smoke::Stack x) {
        // QObject* QObject()
        x_QObject* xret = new x_QObject((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_54(Smoke::Stack x) {
        // static bool connect(const QObject*, const char*, const QObject*, const char*)
        bool xret = QObject::connect((const QObject*)x[1].s_class,(const char*)x[2].s_class,(const QObject*)x[3].s_class,(const char*)x[4].s_class,(Qt::ConnectionType)Qt::AutoConnection);
        x[0].s_bool = xret;
    }
    static void x_55(Smoke::Stack x) {
        // static bool connect(const QObject*, const QMetaMethod&, const QObject*, const QMetaMethod&)
        bool xret = QObject::connect((const QObject*)x[1].s_class,*(const QMetaMethod*)x[2].s_class,(const QObject*)x[3].s_class,*(const QMetaMethod*)x[4].s_class,(Qt::ConnectionType)Qt::AutoConnection);
        x[0].s_bool = xret;
    }
    void x_56(Smoke::Stack x) {
        // bool connect(const QObject*, const char*, const char*) const
        bool xret = ((const x_QObject*)this)->QObject::connect((const QObject*)x[1].s_class,(const char*)x[2].s_class,(const char*)x[3].s_class,(Qt::ConnectionType)Qt::AutoConnection);
        x[0].s_bool = xret;
    }
    void x_57(Smoke::Stack x) {
        // bool disconnect()
        bool xret = this->QObject::disconnect((const char*)0,(const QObject*)0,(const char*)0);
        x[0].s_bool = xret;
    }
    void x_58(Smoke::Stack x) {
        // bool disconnect(const char*)
        bool xret = this->QObject::disconnect((const char*)x[1].s_class,(const QObject*)0,(const char*)0);
        x[0].s_bool = xret;
    }
    void x_59(Smoke::Stack x) {
        // bool disconnect(const char*, const QObject*)
        bool xret = this->QObject::disconnect((const char*)x[1].s_class,(const QObject*)x[2].s_class,(const char*)0);
        x[0].s_bool = xret;
    }
    void x_60(Smoke::Stack x) {
        // bool disconnect(const QObject*)
        bool xret = this->QObject::disconnect((const QObject*)x[1].s_class,(const char*)0);
        x[0].s_bool = xret;
    }
    void x_61(Smoke::Stack x) {
        // void destroyed()
        this->QObject::destroyed((QObject*)0);
        (void)x; // noop (for compiler warning)
    }
    static void x_62(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QObject::staticMetaObject;
    }
    static void x_63(Smoke::Stack x) {
        // static const QMetaObject staticQtMetaObject
        x[0].s_class = (void*)&QObject::staticQtMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3796, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QObject::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3797, (void*)this, x)) return (void*)x[0].s_class;
        return this->QObject::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(3802, (void*)this, x)) return (int)x[0].s_int;
        return this->QObject::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_QObject() { this->_binding->deleted(80, (void*)this); }
};
void xcall_QObject(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QObject *xself = (x_QObject*)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_QObject::x_3(args);	break;
        case 4: x_QObject::x_4(args);	break;
        case 5: x_QObject::x_5(args);	break;
        case 6: x_QObject::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QObject::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_QObject::x_24(args);	break;
        case 25: x_QObject::x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: x_QObject::x_27(args);	break;
        case 28: x_QObject::x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: x_QObject::x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: xself->x_41(args);	break;
        case 42: xself->x_42(args);	break;
        case 43: xself->x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: xself->x_45(args);	break;
        case 46: xself->x_46(args);	break;
        case 47: xself->x_47(args);	break;
        case 48: xself->x_48(args);	break;
        case 49: xself->x_49(args);	break;
        case 50: xself->x_50(args);	break;
        case 51: x_QObject::x_51(args);	break;
        case 52: x_QObject::x_52(args);	break;
        case 53: x_QObject::x_53(args);	break;
        case 54: x_QObject::x_54(args);	break;
        case 55: x_QObject::x_55(args);	break;
        case 56: xself->x_56(args);	break;
        case 57: xself->x_57(args);	break;
        case 58: xself->x_58(args);	break;
        case 59: xself->x_59(args);	break;
        case 60: xself->x_60(args);	break;
        case 61: xself->x_61(args);	break;
        case 62: x_QObject::x_62(args);	break;
        case 63: x_QObject::x_63(args);	break;
        case 64: delete (QObject*)xself;	break;
    }
}
class x_QObjectCleanupHandler : public QObjectCleanupHandler, 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<QObjectCleanupHandler*>(this))) {
            const QMetaObject* xret = ((const x_QObjectCleanupHandler*)this)->QObjectCleanupHandler::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QObjectCleanupHandler*)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<QObjectCleanupHandler*>(this))) {
            void* xret = this->QObjectCleanupHandler::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 = QObjectCleanupHandler::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 = QObjectCleanupHandler::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 = QObjectCleanupHandler::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 = QObjectCleanupHandler::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<QObjectCleanupHandler*>(this))) {
            int xret = this->QObjectCleanupHandler::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) {
        // QObjectCleanupHandler* QObjectCleanupHandler()
        x_QObjectCleanupHandler* xret = new x_QObjectCleanupHandler();
        x[0].s_class = (void*)xret;
    }
    explicit x_QObjectCleanupHandler() : QObjectCleanupHandler() {}
    void x_9(Smoke::Stack x) {
        // QObject* add(QObject*)
        QObject* xret = this->QObjectCleanupHandler::add((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_10(Smoke::Stack x) {
        // void remove(QObject*)
        this->QObjectCleanupHandler::remove((QObject*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // bool isEmpty() const
        bool xret = ((const x_QObjectCleanupHandler*)this)->QObjectCleanupHandler::isEmpty();
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // void clear()
        this->QObjectCleanupHandler::clear();
        (void)x; // noop (for compiler warning)
    }
    static void x_13(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QObjectCleanupHandler::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QObjectCleanupHandler::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_15(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QObjectCleanupHandler::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3860, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QObjectCleanupHandler::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3861, (void*)this, x)) return (void*)x[0].s_class;
        return this->QObjectCleanupHandler::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(3866, (void*)this, x)) return (int)x[0].s_int;
        return this->QObjectCleanupHandler::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_QObjectCleanupHandler() { this->_binding->deleted(81, (void*)this); }
};
void xcall_QObjectCleanupHandler(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QObjectCleanupHandler *xself = (x_QObjectCleanupHandler*)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_QObjectCleanupHandler::x_3(args);	break;
        case 4: x_QObjectCleanupHandler::x_4(args);	break;
        case 5: x_QObjectCleanupHandler::x_5(args);	break;
        case 6: x_QObjectCleanupHandler::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QObjectCleanupHandler::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: x_QObjectCleanupHandler::x_13(args);	break;
        case 14: x_QObjectCleanupHandler::x_14(args);	break;
        case 15: x_QObjectCleanupHandler::x_15(args);	break;
        case 16: delete (QObjectCleanupHandler*)xself;	break;
    }
}

}
