//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_QIncompatibleFlag : public QIncompatibleFlag {
    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) {
        // QIncompatibleFlag* QIncompatibleFlag(int)
        x_QIncompatibleFlag* xret = new x_QIncompatibleFlag((int)x[1].s_int);
        x[0].s_class = (void*)xret;
    }
    explicit x_QIncompatibleFlag(int x1) : QIncompatibleFlag(x1) {}
    void x_2(Smoke::Stack x) {
        // int operator int() const
        int xret = ((const x_QIncompatibleFlag*)this)->QIncompatibleFlag::operator int();
        x[0].s_int = xret;
    }
    static void x_3(Smoke::Stack x) {
        // QIncompatibleFlag* QIncompatibleFlag(const QIncompatibleFlag&)
        x_QIncompatibleFlag* xret = new x_QIncompatibleFlag(*(const QIncompatibleFlag*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QIncompatibleFlag(const QIncompatibleFlag& x1) : QIncompatibleFlag(x1) {}
    ~x_QIncompatibleFlag() { this->_binding->deleted(60, (void*)this); }
};
void xcall_QIncompatibleFlag(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QIncompatibleFlag *xself = (x_QIncompatibleFlag*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QIncompatibleFlag::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_QIncompatibleFlag::x_3(args);	break;
        case 4: delete (QIncompatibleFlag*)xself;	break;
    }
}
class x_QInternal : public QInternal {
    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 bool registerCallback(QInternal::Callback, bool(*)(void**))
        bool xret = QInternal::registerCallback((QInternal::Callback)x[1].s_enum,(bool(*)(void**))x[2].s_class);
        x[0].s_bool = xret;
    }
    static void x_2(Smoke::Stack x) {
        // static bool unregisterCallback(QInternal::Callback, bool(*)(void**))
        bool xret = QInternal::unregisterCallback((QInternal::Callback)x[1].s_enum,(bool(*)(void**))x[2].s_class);
        x[0].s_bool = xret;
    }
    static void x_3(Smoke::Stack x) {
        // static bool activateCallbacks(QInternal::Callback, void**)
        bool xret = QInternal::activateCallbacks((QInternal::Callback)x[1].s_enum,(void**)x[2].s_class);
        x[0].s_bool = xret;
    }
    static void x_4(Smoke::Stack x) {
        // static bool callFunction(QInternal::InternalFunction, void**)
        bool xret = QInternal::callFunction((QInternal::InternalFunction)x[1].s_enum,(void**)x[2].s_class);
        x[0].s_bool = xret;
    }
    static void x_5(Smoke::Stack x) {
        // QInternal* QInternal()
        x_QInternal* xret = new x_QInternal();
        x[0].s_class = (void*)xret;
    }
    explicit x_QInternal() : QInternal() {}
    static void x_6(Smoke::Stack x) {
        // QInternal* QInternal(const QInternal&)
        x_QInternal* xret = new x_QInternal(*(const QInternal*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QInternal(const QInternal& x1) : QInternal(x1) {}
    static void x_7(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::UnknownDevice;
    }
    static void x_8(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::Widget;
    }
    static void x_9(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::Pixmap;
    }
    static void x_10(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::Image;
    }
    static void x_11(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::Printer;
    }
    static void x_12(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::Picture;
    }
    static void x_13(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::Pbuffer;
    }
    static void x_14(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::FramebufferObject;
    }
    static void x_15(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::CustomRaster;
    }
    static void x_16(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::MacQuartz;
    }
    static void x_17(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::PaintBuffer;
    }
    static void x_18(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::OpenGL;
    }
    static void x_19(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::RelayoutNormal;
    }
    static void x_20(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::RelayoutDragging;
    }
    static void x_21(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::RelayoutDropped;
    }
    static void x_22(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::ConnectCallback;
    }
    static void x_23(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::DisconnectCallback;
    }
    static void x_24(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::AdoptCurrentThread;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::EventNotifyCallback;
    }
    static void x_26(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::LastCallback;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::CreateThreadForAdoption;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::RefAdoptedThread;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::DerefAdoptedThread;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::SetCurrentThreadToMainThread;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::SetQObjectSender;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::GetQObjectSender;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::ResetQObjectSender;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::LastInternalFunction;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::LeftDock;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::RightDock;
    }
    static void x_37(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::TopDock;
    }
    static void x_38(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::BottomDock;
    }
    static void x_39(Smoke::Stack x) {
        x[0].s_enum = (long)QInternal::DockCount;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 166: //QInternal::PaintDeviceFlags
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QInternal::PaintDeviceFlags;
                    break;
                case Smoke::EnumDelete:
                    delete (QInternal::PaintDeviceFlags*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QInternal::PaintDeviceFlags*)xdata = (QInternal::PaintDeviceFlags)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QInternal::PaintDeviceFlags*)xdata;
                    break;
            }
            break;
        case 167: //QInternal::RelayoutType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QInternal::RelayoutType;
                    break;
                case Smoke::EnumDelete:
                    delete (QInternal::RelayoutType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QInternal::RelayoutType*)xdata = (QInternal::RelayoutType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QInternal::RelayoutType*)xdata;
                    break;
            }
            break;
        case 163: //QInternal::Callback
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QInternal::Callback;
                    break;
                case Smoke::EnumDelete:
                    delete (QInternal::Callback*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QInternal::Callback*)xdata = (QInternal::Callback)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QInternal::Callback*)xdata;
                    break;
            }
            break;
        case 165: //QInternal::InternalFunction
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QInternal::InternalFunction;
                    break;
                case Smoke::EnumDelete:
                    delete (QInternal::InternalFunction*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QInternal::InternalFunction*)xdata = (QInternal::InternalFunction)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QInternal::InternalFunction*)xdata;
                    break;
            }
            break;
        case 164: //QInternal::DockPosition
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QInternal::DockPosition;
                    break;
                case Smoke::EnumDelete:
                    delete (QInternal::DockPosition*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QInternal::DockPosition*)xdata = (QInternal::DockPosition)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QInternal::DockPosition*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QInternal() { this->_binding->deleted(61, (void*)this); }
};
void xenum_QInternal(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QInternal::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QInternal(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QInternal *xself = (x_QInternal*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QInternal::x_1(args);	break;
        case 2: x_QInternal::x_2(args);	break;
        case 3: x_QInternal::x_3(args);	break;
        case 4: x_QInternal::x_4(args);	break;
        case 5: x_QInternal::x_5(args);	break;
        case 6: x_QInternal::x_6(args);	break;
        case 7: x_QInternal::x_7(args);	break;
        case 8: x_QInternal::x_8(args);	break;
        case 9: x_QInternal::x_9(args);	break;
        case 10: x_QInternal::x_10(args);	break;
        case 11: x_QInternal::x_11(args);	break;
        case 12: x_QInternal::x_12(args);	break;
        case 13: x_QInternal::x_13(args);	break;
        case 14: x_QInternal::x_14(args);	break;
        case 15: x_QInternal::x_15(args);	break;
        case 16: x_QInternal::x_16(args);	break;
        case 17: x_QInternal::x_17(args);	break;
        case 18: x_QInternal::x_18(args);	break;
        case 19: x_QInternal::x_19(args);	break;
        case 20: x_QInternal::x_20(args);	break;
        case 21: x_QInternal::x_21(args);	break;
        case 22: x_QInternal::x_22(args);	break;
        case 23: x_QInternal::x_23(args);	break;
        case 24: x_QInternal::x_24(args);	break;
        case 25: x_QInternal::x_25(args);	break;
        case 26: x_QInternal::x_26(args);	break;
        case 27: x_QInternal::x_27(args);	break;
        case 28: x_QInternal::x_28(args);	break;
        case 29: x_QInternal::x_29(args);	break;
        case 30: x_QInternal::x_30(args);	break;
        case 31: x_QInternal::x_31(args);	break;
        case 32: x_QInternal::x_32(args);	break;
        case 33: x_QInternal::x_33(args);	break;
        case 34: x_QInternal::x_34(args);	break;
        case 35: x_QInternal::x_35(args);	break;
        case 36: x_QInternal::x_36(args);	break;
        case 37: x_QInternal::x_37(args);	break;
        case 38: x_QInternal::x_38(args);	break;
        case 39: x_QInternal::x_39(args);	break;
        case 40: delete (QInternal*)xself;	break;
    }
}
class x_QLatin1Char : public QLatin1Char {
    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) {
        // QLatin1Char* QLatin1Char(char)
        x_QLatin1Char* xret = new x_QLatin1Char((char)x[1].s_char);
        x[0].s_class = (void*)xret;
    }
    explicit x_QLatin1Char(char x1) : QLatin1Char(x1) {}
    void x_2(Smoke::Stack x) {
        // char toLatin1() const
        char xret = ((const x_QLatin1Char*)this)->QLatin1Char::toLatin1();
        x[0].s_char = xret;
    }
    void x_3(Smoke::Stack x) {
        // unsigned short unicode() const
        unsigned short xret = ((const x_QLatin1Char*)this)->QLatin1Char::unicode();
        x[0].s_ushort = xret;
    }
    static void x_4(Smoke::Stack x) {
        // QLatin1Char* QLatin1Char(const QLatin1Char&)
        x_QLatin1Char* xret = new x_QLatin1Char(*(const QLatin1Char*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QLatin1Char(const QLatin1Char& x1) : QLatin1Char(x1) {}
    ~x_QLatin1Char() { this->_binding->deleted(62, (void*)this); }
};
void xcall_QLatin1Char(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QLatin1Char *xself = (x_QLatin1Char*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QLatin1Char::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: x_QLatin1Char::x_4(args);	break;
        case 5: delete (QLatin1Char*)xself;	break;
    }
}
class x_QLatin1String : public QLatin1String {
    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) {
        // QLatin1String* QLatin1String(const char*)
        x_QLatin1String* xret = new x_QLatin1String((const char*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QLatin1String(const char* x1) : QLatin1String(x1) {}
    void x_2(Smoke::Stack x) {
        // QLatin1String& operator=(const QLatin1String&)
        QLatin1String& xret = this->QLatin1String::operator=(*(const QLatin1String*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_3(Smoke::Stack x) {
        // const char* latin1() const
        const char* xret = ((const x_QLatin1String*)this)->QLatin1String::latin1();
        x[0].s_class = (void*)xret;
    }
    void x_4(Smoke::Stack x) {
        // bool operator==(const QString&) const
        bool xret = ((const x_QLatin1String*)this)->QLatin1String::operator==(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_5(Smoke::Stack x) {
        // bool operator!=(const QString&) const
        bool xret = ((const x_QLatin1String*)this)->QLatin1String::operator!=(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_6(Smoke::Stack x) {
        // bool operator>(const QString&) const
        bool xret = ((const x_QLatin1String*)this)->QLatin1String::operator>(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_7(Smoke::Stack x) {
        // bool operator<(const QString&) const
        bool xret = ((const x_QLatin1String*)this)->QLatin1String::operator<(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_8(Smoke::Stack x) {
        // bool operator>=(const QString&) const
        bool xret = ((const x_QLatin1String*)this)->QLatin1String::operator>=(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_9(Smoke::Stack x) {
        // bool operator<=(const QString&) const
        bool xret = ((const x_QLatin1String*)this)->QLatin1String::operator<=(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // bool operator==(const char*) const
        bool xret = ((const x_QLatin1String*)this)->QLatin1String::operator==((const char*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // bool operator!=(const char*) const
        bool xret = ((const x_QLatin1String*)this)->QLatin1String::operator!=((const char*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // bool operator<(const char*) const
        bool xret = ((const x_QLatin1String*)this)->QLatin1String::operator<((const char*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_13(Smoke::Stack x) {
        // bool operator>(const char*) const
        bool xret = ((const x_QLatin1String*)this)->QLatin1String::operator>((const char*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_14(Smoke::Stack x) {
        // bool operator<=(const char*) const
        bool xret = ((const x_QLatin1String*)this)->QLatin1String::operator<=((const char*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // bool operator>=(const char*) const
        bool xret = ((const x_QLatin1String*)this)->QLatin1String::operator>=((const char*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_16(Smoke::Stack x) {
        // QLatin1String* QLatin1String(const QLatin1String&)
        x_QLatin1String* xret = new x_QLatin1String(*(const QLatin1String*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QLatin1String(const QLatin1String& x1) : QLatin1String(x1) {}
    ~x_QLatin1String() { this->_binding->deleted(63, (void*)this); }
};
void xcall_QLatin1String(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QLatin1String *xself = (x_QLatin1String*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QLatin1String::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: x_QLatin1String::x_16(args);	break;
        case 17: delete (QLatin1String*)xself;	break;
    }
}
class x_QLibrary : public QLibrary, 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<QLibrary*>(this))) {
            const QMetaObject* xret = ((const x_QLibrary*)this)->QLibrary::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QLibrary*)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<QLibrary*>(this))) {
            void* xret = this->QLibrary::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 = QLibrary::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 = QLibrary::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 = QLibrary::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 = QLibrary::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<QLibrary*>(this))) {
            int xret = this->QLibrary::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) {
        // QLibrary* QLibrary(QObject*)
        x_QLibrary* xret = new x_QLibrary((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QLibrary(QObject* x1) : QLibrary(x1) {}
    static void x_9(Smoke::Stack x) {
        // QLibrary* QLibrary(const QString&, QObject*)
        x_QLibrary* xret = new x_QLibrary(*(const QString*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QLibrary(const QString& x1, QObject* x2) : QLibrary(x1, x2) {}
    static void x_10(Smoke::Stack x) {
        // QLibrary* QLibrary(const QString&, int, QObject*)
        x_QLibrary* xret = new x_QLibrary(*(const QString*)x[1].s_class,(int)x[2].s_int,(QObject*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QLibrary(const QString& x1, int x2, QObject* x3) : QLibrary(x1, x2, x3) {}
    static void x_11(Smoke::Stack x) {
        // QLibrary* QLibrary(const QString&, const QString&, QObject*)
        x_QLibrary* xret = new x_QLibrary(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(QObject*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QLibrary(const QString& x1, const QString& x2, QObject* x3) : QLibrary(x1, x2, x3) {}
    void x_12(Smoke::Stack x) {
        // void* resolve(const char*)
        void* xret = this->QLibrary::resolve((const char*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    static void x_13(Smoke::Stack x) {
        // static void* resolve(const QString&, const char*)
        void* xret = QLibrary::resolve(*(const QString*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    static void x_14(Smoke::Stack x) {
        // static void* resolve(const QString&, int, const char*)
        void* xret = QLibrary::resolve(*(const QString*)x[1].s_class,(int)x[2].s_int,(const char*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    static void x_15(Smoke::Stack x) {
        // static void* resolve(const QString&, const QString&, const char*)
        void* xret = QLibrary::resolve(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(const char*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_16(Smoke::Stack x) {
        // bool load()
        bool xret = this->QLibrary::load();
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // bool unload()
        bool xret = this->QLibrary::unload();
        x[0].s_bool = xret;
    }
    void x_18(Smoke::Stack x) {
        // bool isLoaded() const
        bool xret = ((const x_QLibrary*)this)->QLibrary::isLoaded();
        x[0].s_bool = xret;
    }
    static void x_19(Smoke::Stack x) {
        // static bool isLibrary(const QString&)
        bool xret = QLibrary::isLibrary(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_20(Smoke::Stack x) {
        // void setFileName(const QString&)
        this->QLibrary::setFileName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // QString fileName() const
        QString xret = ((const x_QLibrary*)this)->QLibrary::fileName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_22(Smoke::Stack x) {
        // void setFileNameAndVersion(const QString&, int)
        this->QLibrary::setFileNameAndVersion(*(const QString*)x[1].s_class,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // void setFileNameAndVersion(const QString&, const QString&)
        this->QLibrary::setFileNameAndVersion(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // QString errorString() const
        QString xret = ((const x_QLibrary*)this)->QLibrary::errorString();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_25(Smoke::Stack x) {
        // void setLoadHints(QFlags<QLibrary::LoadHint>)
        this->QLibrary::setLoadHints((QFlags<QLibrary::LoadHint>)x[1].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // QFlags<QLibrary::LoadHint> loadHints() const
        QFlags<QLibrary::LoadHint> xret = ((const x_QLibrary*)this)->QLibrary::loadHints();
        x[0].s_uint = (uint)xret;
    }
    static void x_27(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QLibrary::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 = QLibrary::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) {
        // QLibrary* QLibrary()
        x_QLibrary* xret = new x_QLibrary((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_30(Smoke::Stack x) {
        // QLibrary* QLibrary(const QString&)
        x_QLibrary* xret = new x_QLibrary(*(const QString*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_31(Smoke::Stack x) {
        // QLibrary* QLibrary(const QString&, int)
        x_QLibrary* xret = new x_QLibrary(*(const QString*)x[1].s_class,(int)x[2].s_int,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_32(Smoke::Stack x) {
        // QLibrary* QLibrary(const QString&, const QString&)
        x_QLibrary* xret = new x_QLibrary(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_33(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QLibrary::staticMetaObject;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)QLibrary::ResolveAllSymbolsHint;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)QLibrary::ExportExternalSymbolsHint;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)QLibrary::LoadArchiveMemberHint;
    }
    static void x_37(Smoke::Stack x) {
        x[0].s_enum = (long)QLibrary::ImprovedSearchHeuristics;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2628, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QLibrary::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2629, (void*)this, x)) return (void*)x[0].s_class;
        return this->QLibrary::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(2634, (void*)this, x)) return (int)x[0].s_int;
        return this->QLibrary::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 174: //QLibrary::LoadHint
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QLibrary::LoadHint;
                    break;
                case Smoke::EnumDelete:
                    delete (QLibrary::LoadHint*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QLibrary::LoadHint*)xdata = (QLibrary::LoadHint)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QLibrary::LoadHint*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QLibrary() { this->_binding->deleted(64, (void*)this); }
};
void xenum_QLibrary(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QLibrary::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QLibrary(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QLibrary *xself = (x_QLibrary*)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_QLibrary::x_3(args);	break;
        case 4: x_QLibrary::x_4(args);	break;
        case 5: x_QLibrary::x_5(args);	break;
        case 6: x_QLibrary::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QLibrary::x_8(args);	break;
        case 9: x_QLibrary::x_9(args);	break;
        case 10: x_QLibrary::x_10(args);	break;
        case 11: x_QLibrary::x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: x_QLibrary::x_13(args);	break;
        case 14: x_QLibrary::x_14(args);	break;
        case 15: x_QLibrary::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: x_QLibrary::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_QLibrary::x_27(args);	break;
        case 28: x_QLibrary::x_28(args);	break;
        case 29: x_QLibrary::x_29(args);	break;
        case 30: x_QLibrary::x_30(args);	break;
        case 31: x_QLibrary::x_31(args);	break;
        case 32: x_QLibrary::x_32(args);	break;
        case 33: x_QLibrary::x_33(args);	break;
        case 34: x_QLibrary::x_34(args);	break;
        case 35: x_QLibrary::x_35(args);	break;
        case 36: x_QLibrary::x_36(args);	break;
        case 37: x_QLibrary::x_37(args);	break;
        case 38: delete (QLibrary*)xself;	break;
    }
}
class x_QLibraryInfo : public QLibraryInfo {
    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 QString licensee()
        QString xret = QLibraryInfo::licensee();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_2(Smoke::Stack x) {
        // static QString licensedProducts()
        QString xret = QLibraryInfo::licensedProducts();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_3(Smoke::Stack x) {
        // static QString buildKey()
        QString xret = QLibraryInfo::buildKey();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_4(Smoke::Stack x) {
        // static QDate buildDate()
        QDate xret = QLibraryInfo::buildDate();
        x[0].s_class = (void*)new QDate(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QString location(QLibraryInfo::LibraryLocation)
        QString xret = QLibraryInfo::location((QLibraryInfo::LibraryLocation)x[1].s_enum);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_6(Smoke::Stack x) {
        // QLibraryInfo* QLibraryInfo(const QLibraryInfo&)
        x_QLibraryInfo* xret = new x_QLibraryInfo(*(const QLibraryInfo*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QLibraryInfo(const QLibraryInfo& x1) : QLibraryInfo(x1) {}
    static void x_7(Smoke::Stack x) {
        x[0].s_enum = (long)QLibraryInfo::PrefixPath;
    }
    static void x_8(Smoke::Stack x) {
        x[0].s_enum = (long)QLibraryInfo::DocumentationPath;
    }
    static void x_9(Smoke::Stack x) {
        x[0].s_enum = (long)QLibraryInfo::HeadersPath;
    }
    static void x_10(Smoke::Stack x) {
        x[0].s_enum = (long)QLibraryInfo::LibrariesPath;
    }
    static void x_11(Smoke::Stack x) {
        x[0].s_enum = (long)QLibraryInfo::BinariesPath;
    }
    static void x_12(Smoke::Stack x) {
        x[0].s_enum = (long)QLibraryInfo::PluginsPath;
    }
    static void x_13(Smoke::Stack x) {
        x[0].s_enum = (long)QLibraryInfo::DataPath;
    }
    static void x_14(Smoke::Stack x) {
        x[0].s_enum = (long)QLibraryInfo::TranslationsPath;
    }
    static void x_15(Smoke::Stack x) {
        x[0].s_enum = (long)QLibraryInfo::SettingsPath;
    }
    static void x_16(Smoke::Stack x) {
        x[0].s_enum = (long)QLibraryInfo::DemosPath;
    }
    static void x_17(Smoke::Stack x) {
        x[0].s_enum = (long)QLibraryInfo::ExamplesPath;
    }
    static void x_18(Smoke::Stack x) {
        x[0].s_enum = (long)QLibraryInfo::ImportsPath;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 176: //QLibraryInfo::LibraryLocation
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QLibraryInfo::LibraryLocation;
                    break;
                case Smoke::EnumDelete:
                    delete (QLibraryInfo::LibraryLocation*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QLibraryInfo::LibraryLocation*)xdata = (QLibraryInfo::LibraryLocation)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QLibraryInfo::LibraryLocation*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QLibraryInfo() { this->_binding->deleted(65, (void*)this); }
};
void xenum_QLibraryInfo(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QLibraryInfo::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QLibraryInfo(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QLibraryInfo *xself = (x_QLibraryInfo*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QLibraryInfo::x_1(args);	break;
        case 2: x_QLibraryInfo::x_2(args);	break;
        case 3: x_QLibraryInfo::x_3(args);	break;
        case 4: x_QLibraryInfo::x_4(args);	break;
        case 5: x_QLibraryInfo::x_5(args);	break;
        case 6: x_QLibraryInfo::x_6(args);	break;
        case 7: x_QLibraryInfo::x_7(args);	break;
        case 8: x_QLibraryInfo::x_8(args);	break;
        case 9: x_QLibraryInfo::x_9(args);	break;
        case 10: x_QLibraryInfo::x_10(args);	break;
        case 11: x_QLibraryInfo::x_11(args);	break;
        case 12: x_QLibraryInfo::x_12(args);	break;
        case 13: x_QLibraryInfo::x_13(args);	break;
        case 14: x_QLibraryInfo::x_14(args);	break;
        case 15: x_QLibraryInfo::x_15(args);	break;
        case 16: x_QLibraryInfo::x_16(args);	break;
        case 17: x_QLibraryInfo::x_17(args);	break;
        case 18: x_QLibraryInfo::x_18(args);	break;
        case 19: delete (QLibraryInfo*)xself;	break;
    }
}
class x_QLine : public QLine {
    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) {
        // QLine* QLine()
        x_QLine* xret = new x_QLine();
        x[0].s_class = (void*)xret;
    }
    explicit x_QLine() : QLine() {}
    static void x_2(Smoke::Stack x) {
        // QLine* QLine(const QPoint&, const QPoint&)
        x_QLine* xret = new x_QLine(*(const QPoint*)x[1].s_class,*(const QPoint*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QLine(const QPoint& x1, const QPoint& x2) : QLine(x1, x2) {}
    static void x_3(Smoke::Stack x) {
        // QLine* QLine(int, int, int, int)
        x_QLine* xret = new x_QLine((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int,(int)x[4].s_int);
        x[0].s_class = (void*)xret;
    }
    explicit x_QLine(int x1, int x2, int x3, int x4) : QLine(x1, x2, x3, x4) {}
    void x_4(Smoke::Stack x) {
        // bool isNull() const
        bool xret = ((const x_QLine*)this)->QLine::isNull();
        x[0].s_bool = xret;
    }
    void x_5(Smoke::Stack x) {
        // QPoint p1() const
        QPoint xret = ((const x_QLine*)this)->QLine::p1();
        x[0].s_class = (void*)new QPoint(xret);
    }
    void x_6(Smoke::Stack x) {
        // QPoint p2() const
        QPoint xret = ((const x_QLine*)this)->QLine::p2();
        x[0].s_class = (void*)new QPoint(xret);
    }
    void x_7(Smoke::Stack x) {
        // int x1() const
        int xret = ((const x_QLine*)this)->QLine::x1();
        x[0].s_int = xret;
    }
    void x_8(Smoke::Stack x) {
        // int y1() const
        int xret = ((const x_QLine*)this)->QLine::y1();
        x[0].s_int = xret;
    }
    void x_9(Smoke::Stack x) {
        // int x2() const
        int xret = ((const x_QLine*)this)->QLine::x2();
        x[0].s_int = xret;
    }
    void x_10(Smoke::Stack x) {
        // int y2() const
        int xret = ((const x_QLine*)this)->QLine::y2();
        x[0].s_int = xret;
    }
    void x_11(Smoke::Stack x) {
        // int dx() const
        int xret = ((const x_QLine*)this)->QLine::dx();
        x[0].s_int = xret;
    }
    void x_12(Smoke::Stack x) {
        // int dy() const
        int xret = ((const x_QLine*)this)->QLine::dy();
        x[0].s_int = xret;
    }
    void x_13(Smoke::Stack x) {
        // void translate(const QPoint&)
        this->QLine::translate(*(const QPoint*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // void translate(int, int)
        this->QLine::translate((int)x[1].s_int,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // QLine translated(const QPoint&) const
        QLine xret = ((const x_QLine*)this)->QLine::translated(*(const QPoint*)x[1].s_class);
        x[0].s_class = (void*)new QLine(xret);
    }
    void x_16(Smoke::Stack x) {
        // QLine translated(int, int) const
        QLine xret = ((const x_QLine*)this)->QLine::translated((int)x[1].s_int,(int)x[2].s_int);
        x[0].s_class = (void*)new QLine(xret);
    }
    void x_17(Smoke::Stack x) {
        // void setP1(const QPoint&)
        this->QLine::setP1(*(const QPoint*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // void setP2(const QPoint&)
        this->QLine::setP2(*(const QPoint*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // void setPoints(const QPoint&, const QPoint&)
        this->QLine::setPoints(*(const QPoint*)x[1].s_class,*(const QPoint*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // void setLine(int, int, int, int)
        this->QLine::setLine((int)x[1].s_int,(int)x[2].s_int,(int)x[3].s_int,(int)x[4].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // bool operator==(const QLine&) const
        bool xret = ((const x_QLine*)this)->QLine::operator==(*(const QLine*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_22(Smoke::Stack x) {
        // bool operator!=(const QLine&) const
        bool xret = ((const x_QLine*)this)->QLine::operator!=(*(const QLine*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_23(Smoke::Stack x) {
        // QLine* QLine(const QLine&)
        x_QLine* xret = new x_QLine(*(const QLine*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QLine(const QLine& x1) : QLine(x1) {}
    ~x_QLine() { this->_binding->deleted(66, (void*)this); }
};
void xcall_QLine(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QLine *xself = (x_QLine*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QLine::x_1(args);	break;
        case 2: x_QLine::x_2(args);	break;
        case 3: x_QLine::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_QLine::x_23(args);	break;
        case 24: delete (QLine*)xself;	break;
    }
}

}
