//Auto-generated by /usr/bin/smokegen. DO NOT EDIT.
#include <kdecore_includes.h>
#include <typeinfo>

#include <smoke.h>
#include <kdecore_smoke.h>

class __internal_SmokeClass {};

namespace __smokekdecore {

class x_KMessageHandler : public KMessageHandler, 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 void message(KMessage::MessageType, const QString&, const QString&) = 0
        this->message((KMessage::MessageType)x[1].s_enum,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_2(Smoke::Stack x) {
        // KMessageHandler* KMessageHandler()
        x_KMessageHandler* xret = new x_KMessageHandler();
        x[0].s_class = (void*)xret;
    }
    explicit x_KMessageHandler() : KMessageHandler() {}
    static void x_3(Smoke::Stack x) {
        // KMessageHandler* KMessageHandler(const KMessageHandler&)
        x_KMessageHandler* xret = new x_KMessageHandler(*(const KMessageHandler*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KMessageHandler(const KMessageHandler& x1) : KMessageHandler(x1) {}
    virtual void message(KMessage::MessageType x1, const QString& x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        this->_binding->callMethod(2117, (void*)this, x, true /*pure virtual*/);
    }
    ~x_KMessageHandler() { this->_binding->deleted(78, (void*)this); }
};
void xcall_KMessageHandler(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KMessageHandler *xself = (x_KMessageHandler*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: x_KMessageHandler::x_2(args);	break;
        case 3: x_KMessageHandler::x_3(args);	break;
        case 4: delete (KMessageHandler*)xself;	break;
    }
}
class x_KMimeType : public KMimeType, 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) {
        // QString iconName(const KUrl&) const
        QString xret = ((const x_KMimeType*)this)->KMimeType::iconName(*(const KUrl*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_2(Smoke::Stack x) {
        // static QString iconNameForUrl(const KUrl&, mode_t)
        QString xret = KMimeType::iconNameForUrl(*(const KUrl*)x[1].s_class,*(mode_t*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_3(Smoke::Stack x) {
        // static QString favIconForUrl(const KUrl&)
        QString xret = KMimeType::favIconForUrl(*(const KUrl*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_4(Smoke::Stack x) {
        // QString comment(const KUrl&) const
        QString xret = ((const x_KMimeType*)this)->KMimeType::comment(*(const KUrl*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_5(Smoke::Stack x) {
        // QStringList patterns() const
        QStringList xret = ((const x_KMimeType*)this)->KMimeType::patterns();
        x[0].s_class = (void*)new QStringList(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> mimeType(const QString&, KMimeType::FindByNameOption)
        KSharedPtr<KMimeType> xret = KMimeType::mimeType(*(const QString*)x[1].s_class,(KMimeType::FindByNameOption)x[2].s_enum);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_7(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByUrl(const KUrl&, mode_t, bool, bool, int*)
        KSharedPtr<KMimeType> xret = KMimeType::findByUrl(*(const KUrl*)x[1].s_class,*(mode_t*)x[2].s_class,(bool)x[3].s_bool,(bool)x[4].s_bool,(int*)x[5].s_class);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_8(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByPath(const QString&, mode_t, bool, int*)
        KSharedPtr<KMimeType> xret = KMimeType::findByPath(*(const QString*)x[1].s_class,*(mode_t*)x[2].s_class,(bool)x[3].s_bool,(int*)x[4].s_class);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_9(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByContent(const QByteArray&, int*)
        KSharedPtr<KMimeType> xret = KMimeType::findByContent(*(const QByteArray*)x[1].s_class,(int*)x[2].s_class);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_10(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByNameAndContent(const QString&, const QByteArray&, mode_t, int*)
        KSharedPtr<KMimeType> xret = KMimeType::findByNameAndContent(*(const QString*)x[1].s_class,*(const QByteArray*)x[2].s_class,*(mode_t*)x[3].s_class,(int*)x[4].s_class);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_11(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByContent(QIODevice*, int*)
        KSharedPtr<KMimeType> xret = KMimeType::findByContent((QIODevice*)x[1].s_class,(int*)x[2].s_class);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_12(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByNameAndContent(const QString&, QIODevice*, mode_t, int*)
        KSharedPtr<KMimeType> xret = KMimeType::findByNameAndContent(*(const QString*)x[1].s_class,(QIODevice*)x[2].s_class,*(mode_t*)x[3].s_class,(int*)x[4].s_class);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_13(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByFileContent(const QString&, int*)
        KSharedPtr<KMimeType> xret = KMimeType::findByFileContent(*(const QString*)x[1].s_class,(int*)x[2].s_class);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_14(Smoke::Stack x) {
        // static bool isBinaryData(const QString&)
        bool xret = KMimeType::isBinaryData(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_15(Smoke::Stack x) {
        // static bool isBufferBinaryData(const QByteArray&)
        bool xret = KMimeType::isBufferBinaryData(*(const QByteArray*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_16(Smoke::Stack x) {
        // static QList<KSharedPtr<KMimeType> > allMimeTypes()
        QList<KSharedPtr<KMimeType> > xret = KMimeType::allMimeTypes();
        x[0].s_class = (void*)new QList<KSharedPtr<KMimeType> >(xret);
    }
    static void x_17(Smoke::Stack x) {
        // static QString defaultMimeType()
        QString xret = KMimeType::defaultMimeType();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_18(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> defaultMimeTypePtr()
        KSharedPtr<KMimeType> xret = KMimeType::defaultMimeTypePtr();
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    void x_19(Smoke::Stack x) {
        // bool isDefault() const
        bool xret = ((const x_KMimeType*)this)->KMimeType::isDefault();
        x[0].s_bool = xret;
    }
    void x_20(Smoke::Stack x) {
        // QString parentMimeType() const
        QString xret = ((const x_KMimeType*)this)->KMimeType::parentMimeType();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_21(Smoke::Stack x) {
        // QStringList parentMimeTypes() const
        QStringList xret = ((const x_KMimeType*)this)->KMimeType::parentMimeTypes();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_22(Smoke::Stack x) {
        // QStringList allParentMimeTypes() const
        QStringList xret = ((const x_KMimeType*)this)->KMimeType::allParentMimeTypes();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_23(Smoke::Stack x) {
        // bool is(const QString&) const
        bool xret = ((const x_KMimeType*)this)->KMimeType::is(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_24(Smoke::Stack x) {
        // QString userSpecifiedIconName() const
        QString xret = ((const x_KMimeType*)this)->KMimeType::userSpecifiedIconName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_25(Smoke::Stack x) {
        // QString mainExtension() const
        QString xret = ((const x_KMimeType*)this)->KMimeType::mainExtension();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_26(Smoke::Stack x) {
        // static QString extractKnownExtension(const QString&)
        QString xret = KMimeType::extractKnownExtension(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_27(Smoke::Stack x) {
        // static bool matchFileName(const QString&, const QString&)
        bool xret = KMimeType::matchFileName(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class);
        x[0].s_bool = xret;
    }
    static void x_28(Smoke::Stack x) {
        // static int sharedMimeInfoVersion()
        int xret = KMimeType::sharedMimeInfoVersion();
        x[0].s_int = xret;
    }
    static void x_29(Smoke::Stack x) {
        // KMimeType* KMimeType(QDataStream&, int)
        x_KMimeType* xret = new x_KMimeType(*(QDataStream*)x[1].s_class,(int)x[2].s_int);
        x[0].s_class = (void*)xret;
    }
    explicit x_KMimeType(QDataStream& x1, int x2) : KMimeType(x1, x2) {}
    static void x_30(Smoke::Stack x) {
        // KMimeType* KMimeType(const QString&, const QString&, const QString&)
        x_KMimeType* xret = new x_KMimeType(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KMimeType(const QString& x1, const QString& x2, const QString& x3) : KMimeType(x1, x2, x3) {}
    static void x_31(Smoke::Stack x) {
        // KMimeType* KMimeType(KMimeTypePrivate&)
        x_KMimeType* xret = new x_KMimeType(*(KMimeTypePrivate*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KMimeType(KMimeTypePrivate& x1) : KMimeType(x1) {}
    static void x_32(Smoke::Stack x) {
        // KMimeType* KMimeType(KMimeTypePrivate&, const QString&, const QString&)
        x_KMimeType* xret = new x_KMimeType(*(KMimeTypePrivate*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KMimeType(KMimeTypePrivate& x1, const QString& x2, const QString& x3) : KMimeType(x1, x2, x3) {}
    void x_33(Smoke::Stack x) {
        // QString iconName() const
        QString xret = ((const x_KMimeType*)this)->KMimeType::iconName((const KUrl&)KUrl());
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_34(Smoke::Stack x) {
        // static QString iconNameForUrl(const KUrl&)
        QString xret = KMimeType::iconNameForUrl(*(const KUrl*)x[1].s_class,(mode_t)0);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_35(Smoke::Stack x) {
        // QString comment() const
        QString xret = ((const x_KMimeType*)this)->KMimeType::comment((const KUrl&)KUrl());
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_36(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> mimeType(const QString&)
        KSharedPtr<KMimeType> xret = KMimeType::mimeType(*(const QString*)x[1].s_class,(KMimeType::FindByNameOption)KMimeType::ResolveAliases);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_37(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByUrl(const KUrl&)
        KSharedPtr<KMimeType> xret = KMimeType::findByUrl(*(const KUrl*)x[1].s_class,(mode_t)0,(bool)false,(bool)false,(int*)0);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_38(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByUrl(const KUrl&, mode_t)
        KSharedPtr<KMimeType> xret = KMimeType::findByUrl(*(const KUrl*)x[1].s_class,*(mode_t*)x[2].s_class,(bool)false,(bool)false,(int*)0);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_39(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByUrl(const KUrl&, mode_t, bool)
        KSharedPtr<KMimeType> xret = KMimeType::findByUrl(*(const KUrl*)x[1].s_class,*(mode_t*)x[2].s_class,(bool)x[3].s_bool,(bool)false,(int*)0);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_40(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByUrl(const KUrl&, mode_t, bool, bool)
        KSharedPtr<KMimeType> xret = KMimeType::findByUrl(*(const KUrl*)x[1].s_class,*(mode_t*)x[2].s_class,(bool)x[3].s_bool,(bool)x[4].s_bool,(int*)0);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_41(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByPath(const QString&)
        KSharedPtr<KMimeType> xret = KMimeType::findByPath(*(const QString*)x[1].s_class,(mode_t)0,(bool)false,(int*)0);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_42(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByPath(const QString&, mode_t)
        KSharedPtr<KMimeType> xret = KMimeType::findByPath(*(const QString*)x[1].s_class,*(mode_t*)x[2].s_class,(bool)false,(int*)0);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_43(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByPath(const QString&, mode_t, bool)
        KSharedPtr<KMimeType> xret = KMimeType::findByPath(*(const QString*)x[1].s_class,*(mode_t*)x[2].s_class,(bool)x[3].s_bool,(int*)0);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_44(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByContent(const QByteArray&)
        KSharedPtr<KMimeType> xret = KMimeType::findByContent(*(const QByteArray*)x[1].s_class,(int*)0);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_45(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByNameAndContent(const QString&, const QByteArray&)
        KSharedPtr<KMimeType> xret = KMimeType::findByNameAndContent(*(const QString*)x[1].s_class,*(const QByteArray*)x[2].s_class,(mode_t)0,(int*)0);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_46(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByNameAndContent(const QString&, const QByteArray&, mode_t)
        KSharedPtr<KMimeType> xret = KMimeType::findByNameAndContent(*(const QString*)x[1].s_class,*(const QByteArray*)x[2].s_class,*(mode_t*)x[3].s_class,(int*)0);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_47(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByContent(QIODevice*)
        KSharedPtr<KMimeType> xret = KMimeType::findByContent((QIODevice*)x[1].s_class,(int*)0);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_48(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByNameAndContent(const QString&, QIODevice*)
        KSharedPtr<KMimeType> xret = KMimeType::findByNameAndContent(*(const QString*)x[1].s_class,(QIODevice*)x[2].s_class,(mode_t)0,(int*)0);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_49(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByNameAndContent(const QString&, QIODevice*, mode_t)
        KSharedPtr<KMimeType> xret = KMimeType::findByNameAndContent(*(const QString*)x[1].s_class,(QIODevice*)x[2].s_class,*(mode_t*)x[3].s_class,(int*)0);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_50(Smoke::Stack x) {
        // static KSharedPtr<KMimeType> findByFileContent(const QString&)
        KSharedPtr<KMimeType> xret = KMimeType::findByFileContent(*(const QString*)x[1].s_class,(int*)0);
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    static void x_51(Smoke::Stack x) {
        x[0].s_enum = (long)KMimeType::DontResolveAlias;
    }
    static void x_52(Smoke::Stack x) {
        x[0].s_enum = (long)KMimeType::ResolveAliases;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 153: //KMimeType::FindByNameOption
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KMimeType::FindByNameOption;
                    break;
                case Smoke::EnumDelete:
                    delete (KMimeType::FindByNameOption*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KMimeType::FindByNameOption*)xdata = (KMimeType::FindByNameOption)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KMimeType::FindByNameOption*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_KMimeType() { this->_binding->deleted(79, (void*)this); }
};
void xenum_KMimeType(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_KMimeType::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_KMimeType(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KMimeType *xself = (x_KMimeType*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: x_KMimeType::x_2(args);	break;
        case 3: x_KMimeType::x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: x_KMimeType::x_6(args);	break;
        case 7: x_KMimeType::x_7(args);	break;
        case 8: x_KMimeType::x_8(args);	break;
        case 9: x_KMimeType::x_9(args);	break;
        case 10: x_KMimeType::x_10(args);	break;
        case 11: x_KMimeType::x_11(args);	break;
        case 12: x_KMimeType::x_12(args);	break;
        case 13: x_KMimeType::x_13(args);	break;
        case 14: x_KMimeType::x_14(args);	break;
        case 15: x_KMimeType::x_15(args);	break;
        case 16: x_KMimeType::x_16(args);	break;
        case 17: x_KMimeType::x_17(args);	break;
        case 18: x_KMimeType::x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: x_KMimeType::x_26(args);	break;
        case 27: x_KMimeType::x_27(args);	break;
        case 28: x_KMimeType::x_28(args);	break;
        case 29: x_KMimeType::x_29(args);	break;
        case 30: x_KMimeType::x_30(args);	break;
        case 31: x_KMimeType::x_31(args);	break;
        case 32: x_KMimeType::x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: x_KMimeType::x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: x_KMimeType::x_36(args);	break;
        case 37: x_KMimeType::x_37(args);	break;
        case 38: x_KMimeType::x_38(args);	break;
        case 39: x_KMimeType::x_39(args);	break;
        case 40: x_KMimeType::x_40(args);	break;
        case 41: x_KMimeType::x_41(args);	break;
        case 42: x_KMimeType::x_42(args);	break;
        case 43: x_KMimeType::x_43(args);	break;
        case 44: x_KMimeType::x_44(args);	break;
        case 45: x_KMimeType::x_45(args);	break;
        case 46: x_KMimeType::x_46(args);	break;
        case 47: x_KMimeType::x_47(args);	break;
        case 48: x_KMimeType::x_48(args);	break;
        case 49: x_KMimeType::x_49(args);	break;
        case 50: x_KMimeType::x_50(args);	break;
        case 51: x_KMimeType::x_51(args);	break;
        case 52: x_KMimeType::x_52(args);	break;
        case 53: delete (KMimeType*)xself;	break;
    }
}
class x_KMimeTypeTrader : public KMimeTypeTrader {
    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) {
        // QList<KSharedPtr<KService> > query(const QString&, const QString&, const QString&) const
        QList<KSharedPtr<KService> > xret = ((const x_KMimeTypeTrader*)this)->KMimeTypeTrader::query(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class);
        x[0].s_class = (void*)new QList<KSharedPtr<KService> >(xret);
    }
    void x_2(Smoke::Stack x) {
        // KSharedPtr<KService> preferredService(const QString&, const QString&)
        KSharedPtr<KService> xret = this->KMimeTypeTrader::preferredService(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class);
        x[0].s_class = (void*)new KSharedPtr<KService>(xret);
    }
    static void x_3(Smoke::Stack x) {
        // static KMimeTypeTrader* self()
        KMimeTypeTrader* xret = KMimeTypeTrader::self();
        x[0].s_class = (void*)xret;
    }
    static void x_4(Smoke::Stack x) {
        // KMimeTypeTrader* KMimeTypeTrader(const KMimeTypeTrader&)
        x_KMimeTypeTrader* xret = new x_KMimeTypeTrader(*(const KMimeTypeTrader*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KMimeTypeTrader(const KMimeTypeTrader& x1) : KMimeTypeTrader(x1) {}
    void x_5(Smoke::Stack x) {
        // QList<KSharedPtr<KService> > query(const QString&) const
        QList<KSharedPtr<KService> > xret = ((const x_KMimeTypeTrader*)this)->KMimeTypeTrader::query(*(const QString*)x[1].s_class,(const QString&)QString::fromLatin1("Application"),(const QString&)QString());
        x[0].s_class = (void*)new QList<KSharedPtr<KService> >(xret);
    }
    void x_6(Smoke::Stack x) {
        // QList<KSharedPtr<KService> > query(const QString&, const QString&) const
        QList<KSharedPtr<KService> > xret = ((const x_KMimeTypeTrader*)this)->KMimeTypeTrader::query(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(const QString&)QString());
        x[0].s_class = (void*)new QList<KSharedPtr<KService> >(xret);
    }
    void x_7(Smoke::Stack x) {
        // KSharedPtr<KService> preferredService(const QString&)
        KSharedPtr<KService> xret = this->KMimeTypeTrader::preferredService(*(const QString*)x[1].s_class,(const QString&)QString::fromLatin1("Application"));
        x[0].s_class = (void*)new KSharedPtr<KService>(xret);
    }
    ~x_KMimeTypeTrader() { this->_binding->deleted(81, (void*)this); }
};
void xcall_KMimeTypeTrader(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KMimeTypeTrader *xself = (x_KMimeTypeTrader*)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_KMimeTypeTrader::x_3(args);	break;
        case 4: x_KMimeTypeTrader::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: delete (KMimeTypeTrader*)xself;	break;
    }
}
class x_KPluginFactory : public KPluginFactory, 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<KPluginFactory*>(this))) {
            const QMetaObject* xret = ((const x_KPluginFactory*)this)->KPluginFactory::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_KPluginFactory*)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<KPluginFactory*>(this))) {
            void* xret = this->KPluginFactory::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 = KPluginFactory::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 = KPluginFactory::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 = KPluginFactory::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 = KPluginFactory::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<KPluginFactory*>(this))) {
            int xret = this->KPluginFactory::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) {
        // KPluginFactory* KPluginFactory(const char*, const char*, QObject*)
        x_KPluginFactory* xret = new x_KPluginFactory((const char*)x[1].s_class,(const char*)x[2].s_class,(QObject*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KPluginFactory(const char* x1, const char* x2, QObject* x3) : KPluginFactory(x1, x2, x3) {}
    static void x_9(Smoke::Stack x) {
        // KPluginFactory* KPluginFactory(const KAboutData&, QObject*)
        x_KPluginFactory* xret = new x_KPluginFactory(*(const KAboutData*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KPluginFactory(const KAboutData& x1, QObject* x2) : KPluginFactory(x1, x2) {}
    static void x_10(Smoke::Stack x) {
        // KPluginFactory* KPluginFactory(const KAboutData*, QObject*)
        x_KPluginFactory* xret = new x_KPluginFactory((const KAboutData*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KPluginFactory(const KAboutData* x1, QObject* x2) : KPluginFactory(x1, x2) {}
    static void x_11(Smoke::Stack x) {
        // KPluginFactory* KPluginFactory(QObject*)
        x_KPluginFactory* xret = new x_KPluginFactory((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KPluginFactory(QObject* x1) : KPluginFactory(x1) {}
    void x_12(Smoke::Stack x) {
        // KComponentData componentData() const
        KComponentData xret = ((const x_KPluginFactory*)this)->KPluginFactory::componentData();
        x[0].s_class = (void*)new KComponentData(xret);
    }
    void x_13(Smoke::Stack x) {
        // QObject* create(QObject*, const char*, const QStringList&)
        QObject* xret = this->KPluginFactory::create((QObject*)x[1].s_class,(const char*)x[2].s_class,*(const QStringList*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_14(Smoke::Stack x) {
        // void objectCreated(QObject*)
        this->KPluginFactory::objectCreated((QObject*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_15(Smoke::Stack x) {
        // KPluginFactory* KPluginFactory(KPluginFactoryPrivate&, QObject*)
        x_KPluginFactory* xret = new x_KPluginFactory(*(KPluginFactoryPrivate*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KPluginFactory(KPluginFactoryPrivate& x1, QObject* x2) : KPluginFactory(x1, x2) {}
    void x_16(Smoke::Stack x) {
        // QList<QVariant> stringListToVariantList(const QStringList&)
        QList<QVariant> xret = this->KPluginFactory::stringListToVariantList(*(const QStringList*)x[1].s_class);
        x[0].s_class = (void*)new QList<QVariant>(xret);
    }
    void x_17(Smoke::Stack x) {
        // QStringList variantListToStringList(const QList<QVariant>&)
        QStringList xret = this->KPluginFactory::variantListToStringList(*(const QList<QVariant>*)x[1].s_class);
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_18(Smoke::Stack x) {
        // virtual void setupTranslations()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KPluginFactory*>(this))) {
            this->KPluginFactory::setupTranslations();
            (void)x; // noop (for compiler warning)
        } else {
            this->setupTranslations();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_19(Smoke::Stack x) {
        // virtual QObject* createObject(QObject*, const char*, const QStringList&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KPluginFactory*>(this))) {
            QObject* xret = this->KPluginFactory::createObject((QObject*)x[1].s_class,(const char*)x[2].s_class,*(const QStringList*)x[3].s_class);
            x[0].s_class = (void*)xret;
        } else {
            QObject* xret = this->createObject((QObject*)x[1].s_class,(const char*)x[2].s_class,*(const QStringList*)x[3].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_20(Smoke::Stack x) {
        // virtual KParts::Part* createPartObject(QWidget*, QObject*, const char*, const QStringList&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KPluginFactory*>(this))) {
            KParts::Part* xret = this->KPluginFactory::createPartObject((QWidget*)x[1].s_class,(QObject*)x[2].s_class,(const char*)x[3].s_class,*(const QStringList*)x[4].s_class);
            x[0].s_class = (void*)xret;
        } else {
            KParts::Part* xret = this->createPartObject((QWidget*)x[1].s_class,(QObject*)x[2].s_class,(const char*)x[3].s_class,*(const QStringList*)x[4].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_21(Smoke::Stack x) {
        // void setComponentData(const KComponentData&)
        this->KPluginFactory::setComponentData(*(const KComponentData*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // virtual QObject* create(const char*, QWidget*, QObject*, const QList<QVariant>&, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KPluginFactory*>(this))) {
            QObject* xret = this->KPluginFactory::create((const char*)x[1].s_class,(QWidget*)x[2].s_class,(QObject*)x[3].s_class,*(const QList<QVariant>*)x[4].s_class,*(const QString*)x[5].s_class);
            x[0].s_class = (void*)xret;
        } else {
            QObject* xret = this->create((const char*)x[1].s_class,(QWidget*)x[2].s_class,(QObject*)x[3].s_class,*(const QList<QVariant>*)x[4].s_class,*(const QString*)x[5].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    static void x_23(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = KPluginFactory::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_24(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = KPluginFactory::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_25(Smoke::Stack x) {
        // KPluginFactory* KPluginFactory()
        x_KPluginFactory* xret = new x_KPluginFactory((const char*)0,(const char*)0,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_26(Smoke::Stack x) {
        // KPluginFactory* KPluginFactory(const char*)
        x_KPluginFactory* xret = new x_KPluginFactory((const char*)x[1].s_class,(const char*)0,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_27(Smoke::Stack x) {
        // KPluginFactory* KPluginFactory(const char*, const char*)
        x_KPluginFactory* xret = new x_KPluginFactory((const char*)x[1].s_class,(const char*)x[2].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_28(Smoke::Stack x) {
        // KPluginFactory* KPluginFactory(const KAboutData&)
        x_KPluginFactory* xret = new x_KPluginFactory(*(const KAboutData*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_29(Smoke::Stack x) {
        // KPluginFactory* KPluginFactory(const KAboutData*)
        x_KPluginFactory* xret = new x_KPluginFactory((const KAboutData*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_30(Smoke::Stack x) {
        // QObject* create()
        QObject* xret = this->KPluginFactory::create((QObject*)0,(const char*)"QObject",(const QStringList&)QStringList());
        x[0].s_class = (void*)xret;
    }
    void x_31(Smoke::Stack x) {
        // QObject* create(QObject*)
        QObject* xret = this->KPluginFactory::create((QObject*)x[1].s_class,(const char*)"QObject",(const QStringList&)QStringList());
        x[0].s_class = (void*)xret;
    }
    void x_32(Smoke::Stack x) {
        // QObject* create(QObject*, const char*)
        QObject* xret = this->KPluginFactory::create((QObject*)x[1].s_class,(const char*)x[2].s_class,(const QStringList&)QStringList());
        x[0].s_class = (void*)xret;
    }
    static void x_33(Smoke::Stack x) {
        // KPluginFactory* KPluginFactory(KPluginFactoryPrivate&)
        x_KPluginFactory* xret = new x_KPluginFactory(*(KPluginFactoryPrivate*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_34(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&KPluginFactory::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2182, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->KPluginFactory::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2183, (void*)this, x)) return (void*)x[0].s_class;
        return this->KPluginFactory::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(2188, (void*)this, x)) return (int)x[0].s_int;
        return this->KPluginFactory::qt_metacall(x1, x2, x3);
    }
    virtual void setupTranslations() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2199, (void*)this, x)) return;
        this->KPluginFactory::setupTranslations();
    }
    virtual QObject* createObject(QObject* x1, const char* x2, const QStringList& x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2200, (void*)this, x)) return (QObject*)x[0].s_class;
        return this->KPluginFactory::createObject(x1, x2, x3);
    }
    virtual KParts::Part* createPartObject(QWidget* x1, QObject* x2, const char* x3, const QStringList& x4) {
        Smoke::StackItem x[5];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)x3;
        x[4].s_class = (void*)&x4;
        if (this->_binding->callMethod(2201, (void*)this, x)) return (KParts::Part*)x[0].s_class;
        return this->KPluginFactory::createPartObject(x1, x2, x3, x4);
    }
    virtual QObject* create(const char* x1, QWidget* x2, QObject* x3, const QList<QVariant>& x4, const QString& x5) {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)x3;
        x[4].s_class = (void*)&x4;
        x[5].s_class = (void*)&x5;
        if (this->_binding->callMethod(2203, (void*)this, x)) return (QObject*)x[0].s_class;
        return this->KPluginFactory::create(x1, x2, x3, x4, x5);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3501, (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(3502, (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(3503, (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(3504, (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(3505, (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(3506, (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(3507, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_KPluginFactory() { this->_binding->deleted(83, (void*)this); }
};
void xcall_KPluginFactory(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KPluginFactory *xself = (x_KPluginFactory*)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_KPluginFactory::x_3(args);	break;
        case 4: x_KPluginFactory::x_4(args);	break;
        case 5: x_KPluginFactory::x_5(args);	break;
        case 6: x_KPluginFactory::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_KPluginFactory::x_8(args);	break;
        case 9: x_KPluginFactory::x_9(args);	break;
        case 10: x_KPluginFactory::x_10(args);	break;
        case 11: x_KPluginFactory::x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: x_KPluginFactory::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_KPluginFactory::x_23(args);	break;
        case 24: x_KPluginFactory::x_24(args);	break;
        case 25: x_KPluginFactory::x_25(args);	break;
        case 26: x_KPluginFactory::x_26(args);	break;
        case 27: x_KPluginFactory::x_27(args);	break;
        case 28: x_KPluginFactory::x_28(args);	break;
        case 29: x_KPluginFactory::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: x_KPluginFactory::x_33(args);	break;
        case 34: x_KPluginFactory::x_34(args);	break;
        case 35: delete (KPluginFactory*)xself;	break;
    }
}
class x_KPluginInfo : public KPluginInfo {
    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) {
        // KPluginInfo* KPluginInfo(const QString&, const char*)
        x_KPluginInfo* xret = new x_KPluginInfo(*(const QString*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KPluginInfo(const QString& x1, const char* x2) : KPluginInfo(x1, x2) {}
    static void x_2(Smoke::Stack x) {
        // KPluginInfo* KPluginInfo(const KSharedPtr<KService>)
        x_KPluginInfo* xret = new x_KPluginInfo(*(const KSharedPtr<KService>*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KPluginInfo(const KSharedPtr<KService> x1) : KPluginInfo(x1) {}
    static void x_3(Smoke::Stack x) {
        // KPluginInfo* KPluginInfo()
        x_KPluginInfo* xret = new x_KPluginInfo();
        x[0].s_class = (void*)xret;
    }
    explicit x_KPluginInfo() : KPluginInfo() {}
    static void x_4(Smoke::Stack x) {
        // static QList<KPluginInfo> fromServices(const QList<KSharedPtr<KService> >&, const KConfigGroup&)
        QList<KPluginInfo> xret = KPluginInfo::fromServices(*(const QList<KSharedPtr<KService> >*)x[1].s_class,*(const KConfigGroup*)x[2].s_class);
        x[0].s_class = (void*)new QList<KPluginInfo>(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QList<KPluginInfo> fromFiles(const QStringList&, const KConfigGroup&)
        QList<KPluginInfo> xret = KPluginInfo::fromFiles(*(const QStringList*)x[1].s_class,*(const KConfigGroup*)x[2].s_class);
        x[0].s_class = (void*)new QList<KPluginInfo>(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static QList<KPluginInfo> fromKPartsInstanceName(const QString&, const KConfigGroup&)
        QList<KPluginInfo> xret = KPluginInfo::fromKPartsInstanceName(*(const QString*)x[1].s_class,*(const KConfigGroup*)x[2].s_class);
        x[0].s_class = (void*)new QList<KPluginInfo>(xret);
    }
    void x_7(Smoke::Stack x) {
        // bool isHidden() const
        bool xret = ((const x_KPluginInfo*)this)->KPluginInfo::isHidden();
        x[0].s_bool = xret;
    }
    void x_8(Smoke::Stack x) {
        // void setPluginEnabled(bool)
        this->KPluginInfo::setPluginEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // bool isPluginEnabled() const
        bool xret = ((const x_KPluginInfo*)this)->KPluginInfo::isPluginEnabled();
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // bool isPluginEnabledByDefault() const
        bool xret = ((const x_KPluginInfo*)this)->KPluginInfo::isPluginEnabledByDefault();
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // QVariant property(const QString&) const
        QVariant xret = ((const x_KPluginInfo*)this)->KPluginInfo::property(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_12(Smoke::Stack x) {
        // QString name() const
        QString xret = ((const x_KPluginInfo*)this)->KPluginInfo::name();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_13(Smoke::Stack x) {
        // QString comment() const
        QString xret = ((const x_KPluginInfo*)this)->KPluginInfo::comment();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_14(Smoke::Stack x) {
        // QString icon() const
        QString xret = ((const x_KPluginInfo*)this)->KPluginInfo::icon();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_15(Smoke::Stack x) {
        // QString entryPath() const
        QString xret = ((const x_KPluginInfo*)this)->KPluginInfo::entryPath();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_16(Smoke::Stack x) {
        // QString author() const
        QString xret = ((const x_KPluginInfo*)this)->KPluginInfo::author();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_17(Smoke::Stack x) {
        // QString email() const
        QString xret = ((const x_KPluginInfo*)this)->KPluginInfo::email();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_18(Smoke::Stack x) {
        // QString category() const
        QString xret = ((const x_KPluginInfo*)this)->KPluginInfo::category();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_19(Smoke::Stack x) {
        // QString pluginName() const
        QString xret = ((const x_KPluginInfo*)this)->KPluginInfo::pluginName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_20(Smoke::Stack x) {
        // QString version() const
        QString xret = ((const x_KPluginInfo*)this)->KPluginInfo::version();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_21(Smoke::Stack x) {
        // QString website() const
        QString xret = ((const x_KPluginInfo*)this)->KPluginInfo::website();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_22(Smoke::Stack x) {
        // QString license() const
        QString xret = ((const x_KPluginInfo*)this)->KPluginInfo::license();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_23(Smoke::Stack x) {
        // KAboutLicense fullLicense() const
        KAboutLicense xret = ((const x_KPluginInfo*)this)->KPluginInfo::fullLicense();
        x[0].s_class = (void*)new KAboutLicense(xret);
    }
    void x_24(Smoke::Stack x) {
        // QStringList dependencies() const
        QStringList xret = ((const x_KPluginInfo*)this)->KPluginInfo::dependencies();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_25(Smoke::Stack x) {
        // KSharedPtr<KService> service() const
        KSharedPtr<KService> xret = ((const x_KPluginInfo*)this)->KPluginInfo::service();
        x[0].s_class = (void*)new KSharedPtr<KService>(xret);
    }
    void x_26(Smoke::Stack x) {
        // QList<KSharedPtr<KService> > kcmServices() const
        QList<KSharedPtr<KService> > xret = ((const x_KPluginInfo*)this)->KPluginInfo::kcmServices();
        x[0].s_class = (void*)new QList<KSharedPtr<KService> >(xret);
    }
    void x_27(Smoke::Stack x) {
        // void setConfig(const KConfigGroup&)
        this->KPluginInfo::setConfig(*(const KConfigGroup*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // KConfigGroup config() const
        KConfigGroup xret = ((const x_KPluginInfo*)this)->KPluginInfo::config();
        x[0].s_class = (void*)new KConfigGroup(xret);
    }
    void x_29(Smoke::Stack x) {
        // void save(KConfigGroup)
        this->KPluginInfo::save(*(KConfigGroup*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // void load(const KConfigGroup&)
        this->KPluginInfo::load(*(const KConfigGroup*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // void defaults()
        this->KPluginInfo::defaults();
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_KPluginInfo*)this)->KPluginInfo::isValid();
        x[0].s_bool = xret;
    }
    static void x_33(Smoke::Stack x) {
        // KPluginInfo* KPluginInfo(const KPluginInfo&)
        x_KPluginInfo* xret = new x_KPluginInfo(*(const KPluginInfo*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KPluginInfo(const KPluginInfo& x1) : KPluginInfo(x1) {}
    void x_34(Smoke::Stack x) {
        // KPluginInfo& operator=(const KPluginInfo&)
        KPluginInfo& xret = this->KPluginInfo::operator=(*(const KPluginInfo*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_35(Smoke::Stack x) {
        // bool operator==(const KPluginInfo&) const
        bool xret = ((const x_KPluginInfo*)this)->KPluginInfo::operator==(*(const KPluginInfo*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_36(Smoke::Stack x) {
        // bool operator!=(const KPluginInfo&) const
        bool xret = ((const x_KPluginInfo*)this)->KPluginInfo::operator!=(*(const KPluginInfo*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_37(Smoke::Stack x) {
        // bool operator<(const KPluginInfo&) const
        bool xret = ((const x_KPluginInfo*)this)->KPluginInfo::operator<(*(const KPluginInfo*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_38(Smoke::Stack x) {
        // bool operator>(const KPluginInfo&) const
        bool xret = ((const x_KPluginInfo*)this)->KPluginInfo::operator>(*(const KPluginInfo*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_39(Smoke::Stack x) {
        // KPluginInfo* KPluginInfo(const QString&)
        x_KPluginInfo* xret = new x_KPluginInfo(*(const QString*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_40(Smoke::Stack x) {
        // static QList<KPluginInfo> fromServices(const QList<KSharedPtr<KService> >&)
        QList<KPluginInfo> xret = KPluginInfo::fromServices(*(const QList<KSharedPtr<KService> >*)x[1].s_class,(const KConfigGroup&)KConfigGroup());
        x[0].s_class = (void*)new QList<KPluginInfo>(xret);
    }
    static void x_41(Smoke::Stack x) {
        // static QList<KPluginInfo> fromFiles(const QStringList&)
        QList<KPluginInfo> xret = KPluginInfo::fromFiles(*(const QStringList*)x[1].s_class,(const KConfigGroup&)KConfigGroup());
        x[0].s_class = (void*)new QList<KPluginInfo>(xret);
    }
    static void x_42(Smoke::Stack x) {
        // static QList<KPluginInfo> fromKPartsInstanceName(const QString&)
        QList<KPluginInfo> xret = KPluginInfo::fromKPartsInstanceName(*(const QString*)x[1].s_class,(const KConfigGroup&)KConfigGroup());
        x[0].s_class = (void*)new QList<KPluginInfo>(xret);
    }
    void x_43(Smoke::Stack x) {
        // void save()
        this->KPluginInfo::save((KConfigGroup)KConfigGroup());
        (void)x; // noop (for compiler warning)
    }
    void x_44(Smoke::Stack x) {
        // void load()
        this->KPluginInfo::load((const KConfigGroup&)KConfigGroup());
        (void)x; // noop (for compiler warning)
    }
    ~x_KPluginInfo() { this->_binding->deleted(85, (void*)this); }
};
void xcall_KPluginInfo(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KPluginInfo *xself = (x_KPluginInfo*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KPluginInfo::x_1(args);	break;
        case 2: x_KPluginInfo::x_2(args);	break;
        case 3: x_KPluginInfo::x_3(args);	break;
        case 4: x_KPluginInfo::x_4(args);	break;
        case 5: x_KPluginInfo::x_5(args);	break;
        case 6: x_KPluginInfo::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: x_KPluginInfo::x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: x_KPluginInfo::x_39(args);	break;
        case 40: x_KPluginInfo::x_40(args);	break;
        case 41: x_KPluginInfo::x_41(args);	break;
        case 42: x_KPluginInfo::x_42(args);	break;
        case 43: xself->x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: delete (KPluginInfo*)xself;	break;
    }
}
class x_KPluginLoader : public KPluginLoader, 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<KPluginLoader*>(this))) {
            const QMetaObject* xret = ((const x_KPluginLoader*)this)->KPluginLoader::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_KPluginLoader*)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<KPluginLoader*>(this))) {
            void* xret = this->KPluginLoader::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 = KPluginLoader::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 = KPluginLoader::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 = KPluginLoader::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 = KPluginLoader::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<KPluginLoader*>(this))) {
            int xret = this->KPluginLoader::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) {
        // KPluginLoader* KPluginLoader(const QString&, const KComponentData&, QObject*)
        x_KPluginLoader* xret = new x_KPluginLoader(*(const QString*)x[1].s_class,*(const KComponentData*)x[2].s_class,(QObject*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KPluginLoader(const QString& x1, const KComponentData& x2, QObject* x3) : KPluginLoader(x1, x2, x3) {}
    static void x_9(Smoke::Stack x) {
        // KPluginLoader* KPluginLoader(const KService&, const KComponentData&, QObject*)
        x_KPluginLoader* xret = new x_KPluginLoader(*(const KService*)x[1].s_class,*(const KComponentData*)x[2].s_class,(QObject*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KPluginLoader(const KService& x1, const KComponentData& x2, QObject* x3) : KPluginLoader(x1, x2, x3) {}
    void x_10(Smoke::Stack x) {
        // KPluginFactory* factory()
        KPluginFactory* xret = this->KPluginLoader::factory();
        x[0].s_class = (void*)xret;
    }
    void x_11(Smoke::Stack x) {
        // QString pluginName() const
        QString xret = ((const x_KPluginLoader*)this)->KPluginLoader::pluginName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_12(Smoke::Stack x) {
        // unsigned int pluginVersion() const
        unsigned int xret = ((const x_KPluginLoader*)this)->KPluginLoader::pluginVersion();
        x[0].s_uint = xret;
    }
    void x_13(Smoke::Stack x) {
        // QString errorString() const
        QString xret = ((const x_KPluginLoader*)this)->KPluginLoader::errorString();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_14(Smoke::Stack x) {
        // bool isLoaded() const
        bool xret = ((const x_KPluginLoader*)this)->KPluginLoader::isLoaded();
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // bool load()
        bool xret = this->KPluginLoader::load();
        x[0].s_bool = xret;
    }
    static void x_16(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = KPluginLoader::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_17(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = KPluginLoader::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_18(Smoke::Stack x) {
        // KPluginLoader* KPluginLoader(const QString&)
        x_KPluginLoader* xret = new x_KPluginLoader(*(const QString*)x[1].s_class,(const KComponentData&)KGlobal::mainComponent(),(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_19(Smoke::Stack x) {
        // KPluginLoader* KPluginLoader(const QString&, const KComponentData&)
        x_KPluginLoader* xret = new x_KPluginLoader(*(const QString*)x[1].s_class,*(const KComponentData*)x[2].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_20(Smoke::Stack x) {
        // KPluginLoader* KPluginLoader(const KService&)
        x_KPluginLoader* xret = new x_KPluginLoader(*(const KService*)x[1].s_class,(const KComponentData&)KGlobal::mainComponent(),(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_21(Smoke::Stack x) {
        // KPluginLoader* KPluginLoader(const KService&, const KComponentData&)
        x_KPluginLoader* xret = new x_KPluginLoader(*(const KService*)x[1].s_class,*(const KComponentData*)x[2].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_22(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&KPluginLoader::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2262, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->KPluginLoader::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2263, (void*)this, x)) return (void*)x[0].s_class;
        return this->KPluginLoader::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(2268, (void*)this, x)) return (int)x[0].s_int;
        return this->KPluginLoader::qt_metacall(x1, x2, x3);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3501, (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(3502, (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(3503, (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(3504, (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(3505, (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(3506, (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(3507, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_KPluginLoader() { this->_binding->deleted(86, (void*)this); }
};
void xcall_KPluginLoader(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KPluginLoader *xself = (x_KPluginLoader*)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_KPluginLoader::x_3(args);	break;
        case 4: x_KPluginLoader::x_4(args);	break;
        case 5: x_KPluginLoader::x_5(args);	break;
        case 6: x_KPluginLoader::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_KPluginLoader::x_8(args);	break;
        case 9: x_KPluginLoader::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_KPluginLoader::x_16(args);	break;
        case 17: x_KPluginLoader::x_17(args);	break;
        case 18: x_KPluginLoader::x_18(args);	break;
        case 19: x_KPluginLoader::x_19(args);	break;
        case 20: x_KPluginLoader::x_20(args);	break;
        case 21: x_KPluginLoader::x_21(args);	break;
        case 22: x_KPluginLoader::x_22(args);	break;
        case 23: delete (KPluginLoader*)xself;	break;
    }
}

}
