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

#include <smoke.h>
#include <kio_smoke.h>

class __internal_SmokeClass {};

namespace __smokekio {

class x_KDBusServiceStarter : public KDBusServiceStarter {
    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 KDBusServiceStarter* self()
        KDBusServiceStarter* xret = KDBusServiceStarter::self();
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // int findServiceFor(const QString&, const QString&, QString*, QString*, int)
        int xret = this->KDBusServiceStarter::findServiceFor(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(QString*)x[3].s_class,(QString*)x[4].s_class,(int)x[5].s_int);
        x[0].s_int = xret;
    }
    void x_3(Smoke::Stack x) {
        // virtual int startServiceFor(const QString&, const QString&, QString*, QString*, int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDBusServiceStarter*>(this))) {
            int xret = this->KDBusServiceStarter::startServiceFor(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(QString*)x[3].s_class,(QString*)x[4].s_class,(int)x[5].s_int);
            x[0].s_int = xret;
        } else {
            int xret = this->startServiceFor(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(QString*)x[3].s_class,(QString*)x[4].s_class,(int)x[5].s_int);
            x[0].s_int = xret;
        }
    }
    static void x_4(Smoke::Stack x) {
        // KDBusServiceStarter* KDBusServiceStarter()
        x_KDBusServiceStarter* xret = new x_KDBusServiceStarter();
        x[0].s_class = (void*)xret;
    }
    explicit x_KDBusServiceStarter() : KDBusServiceStarter() {}
    static void x_5(Smoke::Stack x) {
        // KDBusServiceStarter* KDBusServiceStarter(const KDBusServiceStarter&)
        x_KDBusServiceStarter* xret = new x_KDBusServiceStarter(*(const KDBusServiceStarter*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KDBusServiceStarter(const KDBusServiceStarter& x1) : KDBusServiceStarter(x1) {}
    void x_6(Smoke::Stack x) {
        // int findServiceFor(const QString&)
        int xret = this->KDBusServiceStarter::findServiceFor(*(const QString*)x[1].s_class,(const QString&)QString(),(QString*)0,(QString*)0,(int)0);
        x[0].s_int = xret;
    }
    void x_7(Smoke::Stack x) {
        // int findServiceFor(const QString&, const QString&)
        int xret = this->KDBusServiceStarter::findServiceFor(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(QString*)0,(QString*)0,(int)0);
        x[0].s_int = xret;
    }
    void x_8(Smoke::Stack x) {
        // int findServiceFor(const QString&, const QString&, QString*)
        int xret = this->KDBusServiceStarter::findServiceFor(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(QString*)x[3].s_class,(QString*)0,(int)0);
        x[0].s_int = xret;
    }
    void x_9(Smoke::Stack x) {
        // int findServiceFor(const QString&, const QString&, QString*, QString*)
        int xret = this->KDBusServiceStarter::findServiceFor(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(QString*)x[3].s_class,(QString*)x[4].s_class,(int)0);
        x[0].s_int = xret;
    }
    void x_10(Smoke::Stack x) {
        // int startServiceFor(const QString&)
        int xret = this->KDBusServiceStarter::startServiceFor(*(const QString*)x[1].s_class,(const QString&)QString(),(QString*)0,(QString*)0,(int)0);
        x[0].s_int = xret;
    }
    void x_11(Smoke::Stack x) {
        // int startServiceFor(const QString&, const QString&)
        int xret = this->KDBusServiceStarter::startServiceFor(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(QString*)0,(QString*)0,(int)0);
        x[0].s_int = xret;
    }
    void x_12(Smoke::Stack x) {
        // int startServiceFor(const QString&, const QString&, QString*)
        int xret = this->KDBusServiceStarter::startServiceFor(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(QString*)x[3].s_class,(QString*)0,(int)0);
        x[0].s_int = xret;
    }
    void x_13(Smoke::Stack x) {
        // int startServiceFor(const QString&, const QString&, QString*, QString*)
        int xret = this->KDBusServiceStarter::startServiceFor(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(QString*)x[3].s_class,(QString*)x[4].s_class,(int)0);
        x[0].s_int = xret;
    }
    virtual int startServiceFor(const QString& x1, const QString& x2, QString* x3, QString* x4, int 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_int = x5;
        if (this->_binding->callMethod(581, (void*)this, x)) return (int)x[0].s_int;
        return this->KDBusServiceStarter::startServiceFor(x1, x2, x3, x4, x5);
    }
    ~x_KDBusServiceStarter() { this->_binding->deleted(37, (void*)this); }
};
void xcall_KDBusServiceStarter(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KDBusServiceStarter *xself = (x_KDBusServiceStarter*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KDBusServiceStarter::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: x_KDBusServiceStarter::x_4(args);	break;
        case 5: x_KDBusServiceStarter::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;
    }
}
class x_KDataTool : public KDataTool, 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<KDataTool*>(this))) {
            const QMetaObject* xret = ((const x_KDataTool*)this)->KDataTool::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_KDataTool*)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<KDataTool*>(this))) {
            void* xret = this->KDataTool::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 = KDataTool::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 = KDataTool::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 = KDataTool::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 = KDataTool::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<KDataTool*>(this))) {
            int xret = this->KDataTool::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) {
        // KDataTool* KDataTool(QObject*)
        x_KDataTool* xret = new x_KDataTool((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KDataTool(QObject* x1) : KDataTool(x1) {}
    void x_9(Smoke::Stack x) {
        // void setComponentData(const KComponentData&)
        this->KDataTool::setComponentData(*(const KComponentData*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // const KComponentData& componentData() const
        const KComponentData& xret = ((const x_KDataTool*)this)->KDataTool::componentData();
        x[0].s_class = (void*)&xret;
    }
    void x_11(Smoke::Stack x) {
        // virtual bool run(const QString&, void*, const QString&, const QString&) = 0
        bool xret = this->run(*(const QString*)x[1].s_class,(void*)x[2].s_class,*(const QString*)x[3].s_class,*(const QString*)x[4].s_class);
        x[0].s_bool = xret;
    }
    static void x_12(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = KDataTool::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_13(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = KDataTool::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // KDataTool* KDataTool()
        x_KDataTool* xret = new x_KDataTool((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_15(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&KDataTool::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(593, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->KDataTool::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(594, (void*)this, x)) return (void*)x[0].s_class;
        return this->KDataTool::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(599, (void*)this, x)) return (int)x[0].s_int;
        return this->KDataTool::qt_metacall(x1, x2, x3);
    }
    virtual bool run(const QString& x1, void* x2, const QString& x3, const QString& 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;
        this->_binding->callMethod(603, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3858, (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(3859, (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(3860, (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(3861, (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(3862, (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(3863, (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(3864, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_KDataTool() { this->_binding->deleted(38, (void*)this); }
};
void xcall_KDataTool(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KDataTool *xself = (x_KDataTool*)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_KDataTool::x_3(args);	break;
        case 4: x_KDataTool::x_4(args);	break;
        case 5: x_KDataTool::x_5(args);	break;
        case 6: x_KDataTool::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_KDataTool::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: x_KDataTool::x_12(args);	break;
        case 13: x_KDataTool::x_13(args);	break;
        case 14: x_KDataTool::x_14(args);	break;
        case 15: x_KDataTool::x_15(args);	break;
        case 16: delete (KDataTool*)xself;	break;
    }
}
class x_KDataToolAction : public KDataToolAction, 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<KDataToolAction*>(this))) {
            const QMetaObject* xret = ((const x_KDataToolAction*)this)->KDataToolAction::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_KDataToolAction*)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<KDataToolAction*>(this))) {
            void* xret = this->KDataToolAction::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 = KDataToolAction::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 = KDataToolAction::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 = KDataToolAction::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 = KDataToolAction::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<KDataToolAction*>(this))) {
            int xret = this->KDataToolAction::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) {
        // KDataToolAction* KDataToolAction(const QString&, const KDataToolInfo&, const QString&, QObject*)
        x_KDataToolAction* xret = new x_KDataToolAction(*(const QString*)x[1].s_class,*(const KDataToolInfo*)x[2].s_class,*(const QString*)x[3].s_class,(QObject*)x[4].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KDataToolAction(const QString& x1, const KDataToolInfo& x2, const QString& x3, QObject* x4) : KDataToolAction(x1, x2, x3, x4) {}
    static void x_9(Smoke::Stack x) {
        // static QList<QAction*> dataToolActionList(const QList<KDataToolInfo>&, const QObject*, const char*, KActionCollection*)
        QList<QAction*> xret = KDataToolAction::dataToolActionList(*(const QList<KDataToolInfo>*)x[1].s_class,(const QObject*)x[2].s_class,(const char*)x[3].s_class,(KActionCollection*)x[4].s_class);
        x[0].s_class = (void*)new QList<QAction*>(xret);
    }
    void x_10(Smoke::Stack x) {
        // void toolActivated(const KDataToolInfo&, const QString&)
        this->KDataToolAction::toolActivated(*(const KDataToolInfo*)x[1].s_class,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // virtual void slotActivated()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDataToolAction*>(this))) {
            this->KDataToolAction::slotActivated();
            (void)x; // noop (for compiler warning)
        } else {
            this->slotActivated();
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_12(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = KDataToolAction::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_13(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = KDataToolAction::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&KDataToolAction::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(609, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->KDataToolAction::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(610, (void*)this, x)) return (void*)x[0].s_class;
        return this->KDataToolAction::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(615, (void*)this, x)) return (int)x[0].s_int;
        return this->KDataToolAction::qt_metacall(x1, x2, x3);
    }
    virtual void slotActivated() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(619, (void*)this, x)) return;
        this->KDataToolAction::slotActivated();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(90, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KAction::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(3915, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QWidgetAction::eventFilter(x1, x2);
    }
    virtual QWidget* createWidget(QWidget* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3916, (void*)this, x)) return (QWidget*)x[0].s_class;
        return this->QWidgetAction::createWidget(x1);
    }
    virtual void deleteWidget(QWidget* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3917, (void*)this, x)) return;
        this->QWidgetAction::deleteWidget(x1);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3860, (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(3861, (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(3862, (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(3863, (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(3864, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_KDataToolAction() { this->_binding->deleted(39, (void*)this); }
};
void xcall_KDataToolAction(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KDataToolAction *xself = (x_KDataToolAction*)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_KDataToolAction::x_3(args);	break;
        case 4: x_KDataToolAction::x_4(args);	break;
        case 5: x_KDataToolAction::x_5(args);	break;
        case 6: x_KDataToolAction::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_KDataToolAction::x_8(args);	break;
        case 9: x_KDataToolAction::x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: x_KDataToolAction::x_12(args);	break;
        case 13: x_KDataToolAction::x_13(args);	break;
        case 14: x_KDataToolAction::x_14(args);	break;
        case 15: delete (KDataToolAction*)xself;	break;
    }
}
class x_KDataToolInfo : public KDataToolInfo {
    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) {
        // KDataToolInfo* KDataToolInfo()
        x_KDataToolInfo* xret = new x_KDataToolInfo();
        x[0].s_class = (void*)xret;
    }
    explicit x_KDataToolInfo() : KDataToolInfo() {}
    static void x_2(Smoke::Stack x) {
        // KDataToolInfo* KDataToolInfo(const KSharedPtr<KService>&, const KComponentData&)
        x_KDataToolInfo* xret = new x_KDataToolInfo(*(const KSharedPtr<KService>*)x[1].s_class,*(const KComponentData*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KDataToolInfo(const KSharedPtr<KService>& x1, const KComponentData& x2) : KDataToolInfo(x1, x2) {}
    static void x_3(Smoke::Stack x) {
        // KDataToolInfo* KDataToolInfo(const KDataToolInfo&)
        x_KDataToolInfo* xret = new x_KDataToolInfo(*(const KDataToolInfo*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KDataToolInfo(const KDataToolInfo& x1) : KDataToolInfo(x1) {}
    void x_4(Smoke::Stack x) {
        // KDataToolInfo& operator=(const KDataToolInfo&)
        KDataToolInfo& xret = this->KDataToolInfo::operator=(*(const KDataToolInfo*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // QString dataType() const
        QString xret = ((const x_KDataToolInfo*)this)->KDataToolInfo::dataType();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_6(Smoke::Stack x) {
        // QStringList mimeTypes() const
        QStringList xret = ((const x_KDataToolInfo*)this)->KDataToolInfo::mimeTypes();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_7(Smoke::Stack x) {
        // bool isReadOnly() const
        bool xret = ((const x_KDataToolInfo*)this)->KDataToolInfo::isReadOnly();
        x[0].s_bool = xret;
    }
    void x_8(Smoke::Stack x) {
        // QPixmap icon() const
        QPixmap xret = ((const x_KDataToolInfo*)this)->KDataToolInfo::icon();
        x[0].s_class = (void*)new QPixmap(xret);
    }
    void x_9(Smoke::Stack x) {
        // QPixmap miniIcon() const
        QPixmap xret = ((const x_KDataToolInfo*)this)->KDataToolInfo::miniIcon();
        x[0].s_class = (void*)new QPixmap(xret);
    }
    void x_10(Smoke::Stack x) {
        // QString iconName() const
        QString xret = ((const x_KDataToolInfo*)this)->KDataToolInfo::iconName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_11(Smoke::Stack x) {
        // QStringList userCommands() const
        QStringList xret = ((const x_KDataToolInfo*)this)->KDataToolInfo::userCommands();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_12(Smoke::Stack x) {
        // QStringList commands() const
        QStringList xret = ((const x_KDataToolInfo*)this)->KDataToolInfo::commands();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_13(Smoke::Stack x) {
        // KDataTool* createTool(QObject*) const
        KDataTool* xret = ((const x_KDataToolInfo*)this)->KDataToolInfo::createTool((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_14(Smoke::Stack x) {
        // KSharedPtr<KService> service() const
        KSharedPtr<KService> xret = ((const x_KDataToolInfo*)this)->KDataToolInfo::service();
        x[0].s_class = (void*)new KSharedPtr<KService>(xret);
    }
    void x_15(Smoke::Stack x) {
        // KComponentData componentData() const
        KComponentData xret = ((const x_KDataToolInfo*)this)->KDataToolInfo::componentData();
        x[0].s_class = (void*)new KComponentData(xret);
    }
    void x_16(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_KDataToolInfo*)this)->KDataToolInfo::isValid();
        x[0].s_bool = xret;
    }
    static void x_17(Smoke::Stack x) {
        // static QList<KDataToolInfo> query(const QString&, const QString&, const KComponentData&)
        QList<KDataToolInfo> xret = KDataToolInfo::query(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const KComponentData*)x[3].s_class);
        x[0].s_class = (void*)new QList<KDataToolInfo>(xret);
    }
    void x_18(Smoke::Stack x) {
        // KDataTool* createTool() const
        KDataTool* xret = ((const x_KDataToolInfo*)this)->KDataToolInfo::createTool((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    ~x_KDataToolInfo() { this->_binding->deleted(40, (void*)this); }
};
void xcall_KDataToolInfo(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KDataToolInfo *xself = (x_KDataToolInfo*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KDataToolInfo::x_1(args);	break;
        case 2: x_KDataToolInfo::x_2(args);	break;
        case 3: x_KDataToolInfo::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: x_KDataToolInfo::x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: delete (KDataToolInfo*)xself;	break;
    }
}
class x_KDeviceListModel : public KDeviceListModel, 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<KDeviceListModel*>(this))) {
            const QMetaObject* xret = ((const x_KDeviceListModel*)this)->KDeviceListModel::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_KDeviceListModel*)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<KDeviceListModel*>(this))) {
            void* xret = this->KDeviceListModel::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 = KDeviceListModel::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 = KDeviceListModel::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 = KDeviceListModel::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 = KDeviceListModel::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<KDeviceListModel*>(this))) {
            int xret = this->KDeviceListModel::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) {
        // KDeviceListModel* KDeviceListModel(QObject*)
        x_KDeviceListModel* xret = new x_KDeviceListModel((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KDeviceListModel(QObject* x1) : KDeviceListModel(x1) {}
    static void x_9(Smoke::Stack x) {
        // KDeviceListModel* KDeviceListModel(const QString&, QObject*)
        x_KDeviceListModel* xret = new x_KDeviceListModel(*(const QString*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KDeviceListModel(const QString& x1, QObject* x2) : KDeviceListModel(x1, x2) {}
    static void x_10(Smoke::Stack x) {
        // KDeviceListModel* KDeviceListModel(const Solid::Predicate&, QObject*)
        x_KDeviceListModel* xret = new x_KDeviceListModel(*(const Solid::Predicate*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KDeviceListModel(const Solid::Predicate& x1, QObject* x2) : KDeviceListModel(x1, x2) {}
    void x_11(Smoke::Stack x) {
        // QVariant data(const QModelIndex&, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDeviceListModel*>(this))) {
            QVariant xret = ((const x_KDeviceListModel*)this)->KDeviceListModel::data(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = ((const x_KDeviceListModel*)this)->data(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_12(Smoke::Stack x) {
        // QVariant headerData(int, Qt::Orientation, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDeviceListModel*>(this))) {
            QVariant xret = ((const x_KDeviceListModel*)this)->KDeviceListModel::headerData((int)x[1].s_int,(Qt::Orientation)x[2].s_enum,(int)x[3].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = ((const x_KDeviceListModel*)this)->headerData((int)x[1].s_int,(Qt::Orientation)x[2].s_enum,(int)x[3].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_13(Smoke::Stack x) {
        // QModelIndex index(int, int, const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDeviceListModel*>(this))) {
            QModelIndex xret = ((const x_KDeviceListModel*)this)->KDeviceListModel::index((int)x[1].s_int,(int)x[2].s_int,*(const QModelIndex*)x[3].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        } else {
            QModelIndex xret = ((const x_KDeviceListModel*)this)->index((int)x[1].s_int,(int)x[2].s_int,*(const QModelIndex*)x[3].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        }
    }
    void x_14(Smoke::Stack x) {
        // QModelIndex rootIndex() const
        QModelIndex xret = ((const x_KDeviceListModel*)this)->KDeviceListModel::rootIndex();
        x[0].s_class = (void*)new QModelIndex(xret);
    }
    void x_15(Smoke::Stack x) {
        // QModelIndex parent(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDeviceListModel*>(this))) {
            QModelIndex xret = ((const x_KDeviceListModel*)this)->KDeviceListModel::parent(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        } else {
            QModelIndex xret = ((const x_KDeviceListModel*)this)->parent(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        }
    }
    void x_16(Smoke::Stack x) {
        // int rowCount(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDeviceListModel*>(this))) {
            int xret = ((const x_KDeviceListModel*)this)->KDeviceListModel::rowCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_KDeviceListModel*)this)->rowCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        }
    }
    void x_17(Smoke::Stack x) {
        // int columnCount(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDeviceListModel*>(this))) {
            int xret = ((const x_KDeviceListModel*)this)->KDeviceListModel::columnCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_KDeviceListModel*)this)->columnCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        }
    }
    void x_18(Smoke::Stack x) {
        // Solid::Device deviceForIndex(const QModelIndex&) const
        Solid::Device xret = ((const x_KDeviceListModel*)this)->KDeviceListModel::deviceForIndex(*(const QModelIndex*)x[1].s_class);
        x[0].s_class = (void*)new Solid::Device(xret);
    }
    void x_19(Smoke::Stack x) {
        // void modelInitialized()
        this->KDeviceListModel::modelInitialized();
        (void)x; // noop (for compiler warning)
    }
    static void x_20(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = KDeviceListModel::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_21(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = KDeviceListModel::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_22(Smoke::Stack x) {
        // KDeviceListModel* KDeviceListModel()
        x_KDeviceListModel* xret = new x_KDeviceListModel((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_23(Smoke::Stack x) {
        // KDeviceListModel* KDeviceListModel(const QString&)
        x_KDeviceListModel* xret = new x_KDeviceListModel(*(const QString*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_24(Smoke::Stack x) {
        // KDeviceListModel* KDeviceListModel(const Solid::Predicate&)
        x_KDeviceListModel* xret = new x_KDeviceListModel(*(const Solid::Predicate*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_25(Smoke::Stack x) {
        // QVariant headerData(int, Qt::Orientation) const
        QVariant xret = ((const x_KDeviceListModel*)this)->KDeviceListModel::headerData((int)x[1].s_int,(Qt::Orientation)x[2].s_enum,(int)Qt::DisplayRole);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_26(Smoke::Stack x) {
        // QModelIndex index(int, int) const
        QModelIndex xret = ((const x_KDeviceListModel*)this)->KDeviceListModel::index((int)x[1].s_int,(int)x[2].s_int,(const QModelIndex&)QModelIndex());
        x[0].s_class = (void*)new QModelIndex(xret);
    }
    void x_27(Smoke::Stack x) {
        // int rowCount() const
        int xret = ((const x_KDeviceListModel*)this)->KDeviceListModel::rowCount((const QModelIndex&)QModelIndex());
        x[0].s_int = xret;
    }
    void x_28(Smoke::Stack x) {
        // int columnCount() const
        int xret = ((const x_KDeviceListModel*)this)->KDeviceListModel::columnCount((const QModelIndex&)QModelIndex());
        x[0].s_int = xret;
    }
    static void x_29(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&KDeviceListModel::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(643, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->KDeviceListModel::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(644, (void*)this, x)) return (void*)x[0].s_class;
        return this->KDeviceListModel::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(649, (void*)this, x)) return (int)x[0].s_int;
        return this->KDeviceListModel::qt_metacall(x1, x2, x3);
    }
    virtual QModelIndex index(int x1, int x2, const QModelIndex& x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(655, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KDeviceListModel::index(x1, x2, x3);
    }
    virtual QModelIndex parent(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(657, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KDeviceListModel::parent(x1);
    }
    virtual int rowCount(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(658, (void*)this, x)) return (int)x[0].s_int;
        return this->KDeviceListModel::rowCount(x1);
    }
    virtual int columnCount(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(659, (void*)this, x)) return (int)x[0].s_int;
        return this->KDeviceListModel::columnCount(x1);
    }
    virtual bool hasChildren(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3692, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::hasChildren(x1);
    }
    virtual QVariant data(const QModelIndex& x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(653, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KDeviceListModel::data(x1, x2);
    }
    virtual bool setData(const QModelIndex& x1, const QVariant& x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(3693, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::setData(x1, x2, x3);
    }
    virtual QVariant headerData(int x1, Qt::Orientation x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(654, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KDeviceListModel::headerData(x1, x2, x3);
    }
    virtual bool setHeaderData(int x1, Qt::Orientation x2, const QVariant& x3, int x4) {
        Smoke::StackItem x[5];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_class = (void*)&x3;
        x[4].s_int = x4;
        if (this->_binding->callMethod(3694, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::setHeaderData(x1, x2, x3, x4);
    }
    virtual QMap<int,QVariant> itemData(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3695, (void*)this, x)) {
            QMap<int,QVariant>* xptr = (QMap<int,QVariant>*)x[0].s_class;
            QMap<int,QVariant> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemModel::itemData(x1);
    }
    virtual bool setItemData(const QModelIndex& x1, const QMap<int,QVariant>& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(3696, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::setItemData(x1, x2);
    }
    virtual QStringList mimeTypes() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3697, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemModel::mimeTypes();
    }
    virtual QMimeData* mimeData(const QList<QModelIndex>& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3698, (void*)this, x)) return (QMimeData*)x[0].s_class;
        return this->QAbstractItemModel::mimeData(x1);
    }
    virtual bool dropMimeData(const QMimeData* x1, Qt::DropAction x2, int x3, int x4, const QModelIndex& x5) {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        x[4].s_int = x4;
        x[5].s_class = (void*)&x5;
        if (this->_binding->callMethod(3699, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::dropMimeData(x1, x2, x3, x4, x5);
    }
    virtual QFlags<Qt::DropAction> supportedDropActions() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3700, (void*)this, x)) return (QFlags<Qt::DropAction>)x[0].s_uint;
        return this->QAbstractItemModel::supportedDropActions();
    }
    virtual bool insertRows(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(3701, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::insertRows(x1, x2, x3);
    }
    virtual bool insertColumns(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(3702, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::insertColumns(x1, x2, x3);
    }
    virtual bool removeRows(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(3703, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::removeRows(x1, x2, x3);
    }
    virtual bool removeColumns(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(3704, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::removeColumns(x1, x2, x3);
    }
    virtual void fetchMore(const QModelIndex& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3705, (void*)this, x)) return;
        this->QAbstractItemModel::fetchMore(x1);
    }
    virtual bool canFetchMore(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3706, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::canFetchMore(x1);
    }
    virtual QFlags<Qt::ItemFlag> flags(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3707, (void*)this, x)) return (QFlags<Qt::ItemFlag>)x[0].s_uint;
        return this->QAbstractItemModel::flags(x1);
    }
    virtual void sort(int x1, Qt::SortOrder x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(3708, (void*)this, x)) return;
        this->QAbstractItemModel::sort(x1, x2);
    }
    virtual QModelIndex buddy(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3709, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemModel::buddy(x1);
    }
    virtual QList<QModelIndex> match(const QModelIndex& x1, int x2, const QVariant& x3, int x4, QFlags<Qt::MatchFlag> x5) const {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        x[4].s_int = x4;
        x[5].s_uint = (uint)x5;
        if (this->_binding->callMethod(3710, (void*)this, x)) {
            QList<QModelIndex>* xptr = (QList<QModelIndex>*)x[0].s_class;
            QList<QModelIndex> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemModel::match(x1, x2, x3, x4, x5);
    }
    virtual QSize span(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3711, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemModel::span(x1);
    }
    virtual bool submit() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3712, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::submit();
    }
    virtual void revert() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3713, (void*)this, x)) return;
        this->QAbstractItemModel::revert();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3858, (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(3859, (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(3860, (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(3861, (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(3862, (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(3863, (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(3864, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_KDeviceListModel() { this->_binding->deleted(43, (void*)this); }
};
void xcall_KDeviceListModel(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KDeviceListModel *xself = (x_KDeviceListModel*)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_KDeviceListModel::x_3(args);	break;
        case 4: x_KDeviceListModel::x_4(args);	break;
        case 5: x_KDeviceListModel::x_5(args);	break;
        case 6: x_KDeviceListModel::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_KDeviceListModel::x_8(args);	break;
        case 9: x_KDeviceListModel::x_9(args);	break;
        case 10: x_KDeviceListModel::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: x_KDeviceListModel::x_20(args);	break;
        case 21: x_KDeviceListModel::x_21(args);	break;
        case 22: x_KDeviceListModel::x_22(args);	break;
        case 23: x_KDeviceListModel::x_23(args);	break;
        case 24: x_KDeviceListModel::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: x_KDeviceListModel::x_29(args);	break;
        case 30: delete (KDeviceListModel*)xself;	break;
    }
}
class x_KDirLister : public KDirLister, 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<KDirLister*>(this))) {
            const QMetaObject* xret = ((const x_KDirLister*)this)->KDirLister::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_KDirLister*)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<KDirLister*>(this))) {
            void* xret = this->KDirLister::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 = KDirLister::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 = KDirLister::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 = KDirLister::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 = KDirLister::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<KDirLister*>(this))) {
            int xret = this->KDirLister::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) {
        // KDirLister* KDirLister(QObject*)
        x_KDirLister* xret = new x_KDirLister((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KDirLister(QObject* x1) : KDirLister(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual bool openUrl(const KUrl&, QFlags<KDirLister::OpenUrlFlag>)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDirLister*>(this))) {
            bool xret = this->KDirLister::openUrl(*(const KUrl*)x[1].s_class,(QFlags<KDirLister::OpenUrlFlag>)x[2].s_uint);
            x[0].s_bool = xret;
        } else {
            bool xret = this->openUrl(*(const KUrl*)x[1].s_class,(QFlags<KDirLister::OpenUrlFlag>)x[2].s_uint);
            x[0].s_bool = xret;
        }
    }
    void x_10(Smoke::Stack x) {
        // virtual void stop()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDirLister*>(this))) {
            this->KDirLister::stop();
            (void)x; // noop (for compiler warning)
        } else {
            this->stop();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_11(Smoke::Stack x) {
        // virtual void stop(const KUrl&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDirLister*>(this))) {
            this->KDirLister::stop(*(const KUrl*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->stop(*(const KUrl*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_12(Smoke::Stack x) {
        // bool delayedMimeTypes() const
        bool xret = ((const x_KDirLister*)this)->KDirLister::delayedMimeTypes();
        x[0].s_bool = xret;
    }
    void x_13(Smoke::Stack x) {
        // void setDelayedMimeTypes(bool)
        this->KDirLister::setDelayedMimeTypes((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // bool autoUpdate() const
        bool xret = ((const x_KDirLister*)this)->KDirLister::autoUpdate();
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // virtual void setAutoUpdate(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDirLister*>(this))) {
            this->KDirLister::setAutoUpdate((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setAutoUpdate((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_16(Smoke::Stack x) {
        // bool autoErrorHandlingEnabled() const
        bool xret = ((const x_KDirLister*)this)->KDirLister::autoErrorHandlingEnabled();
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // void setAutoErrorHandlingEnabled(bool, QWidget*)
        this->KDirLister::setAutoErrorHandlingEnabled((bool)x[1].s_bool,(QWidget*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // bool showingDotFiles() const
        bool xret = ((const x_KDirLister*)this)->KDirLister::showingDotFiles();
        x[0].s_bool = xret;
    }
    void x_19(Smoke::Stack x) {
        // virtual void setShowingDotFiles(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDirLister*>(this))) {
            this->KDirLister::setShowingDotFiles((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setShowingDotFiles((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_20(Smoke::Stack x) {
        // bool dirOnlyMode() const
        bool xret = ((const x_KDirLister*)this)->KDirLister::dirOnlyMode();
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // virtual void setDirOnlyMode(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDirLister*>(this))) {
            this->KDirLister::setDirOnlyMode((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setDirOnlyMode((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_22(Smoke::Stack x) {
        // KUrl url() const
        KUrl xret = ((const x_KDirLister*)this)->KDirLister::url();
        x[0].s_class = (void*)new KUrl(xret);
    }
    void x_23(Smoke::Stack x) {
        // KUrl::List directories() const
        KUrl::List xret = ((const x_KDirLister*)this)->KDirLister::directories();
        x[0].s_class = (void*)new KUrl::List(xret);
    }
    void x_24(Smoke::Stack x) {
        // virtual void emitChanges()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDirLister*>(this))) {
            this->KDirLister::emitChanges();
            (void)x; // noop (for compiler warning)
        } else {
            this->emitChanges();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_25(Smoke::Stack x) {
        // virtual void updateDirectory(const KUrl&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDirLister*>(this))) {
            this->KDirLister::updateDirectory(*(const KUrl*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->updateDirectory(*(const KUrl*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_26(Smoke::Stack x) {
        // bool isFinished() const
        bool xret = ((const x_KDirLister*)this)->KDirLister::isFinished();
        x[0].s_bool = xret;
    }
    void x_27(Smoke::Stack x) {
        // KFileItem rootItem() const
        KFileItem xret = ((const x_KDirLister*)this)->KDirLister::rootItem();
        x[0].s_class = (void*)new KFileItem(xret);
    }
    void x_28(Smoke::Stack x) {
        // virtual KFileItem findByUrl(const KUrl&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDirLister*>(this))) {
            KFileItem xret = ((const x_KDirLister*)this)->KDirLister::findByUrl(*(const KUrl*)x[1].s_class);
            x[0].s_class = (void*)new KFileItem(xret);
        } else {
            KFileItem xret = ((const x_KDirLister*)this)->findByUrl(*(const KUrl*)x[1].s_class);
            x[0].s_class = (void*)new KFileItem(xret);
        }
    }
    void x_29(Smoke::Stack x) {
        // virtual KFileItem findByName(const QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDirLister*>(this))) {
            KFileItem xret = ((const x_KDirLister*)this)->KDirLister::findByName(*(const QString*)x[1].s_class);
            x[0].s_class = (void*)new KFileItem(xret);
        } else {
            KFileItem xret = ((const x_KDirLister*)this)->findByName(*(const QString*)x[1].s_class);
            x[0].s_class = (void*)new KFileItem(xret);
        }
    }
    void x_30(Smoke::Stack x) {
        // virtual void setNameFilter(const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDirLister*>(this))) {
            this->KDirLister::setNameFilter(*(const QString*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setNameFilter(*(const QString*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_31(Smoke::Stack x) {
        // QString nameFilter() const
        QString xret = ((const x_KDirLister*)this)->KDirLister::nameFilter();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_32(Smoke::Stack x) {
        // virtual void setMimeFilter(const QStringList&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDirLister*>(this))) {
            this->KDirLister::setMimeFilter(*(const QStringList*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setMimeFilter(*(const QStringList*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_33(Smoke::Stack x) {
        // void setMimeExcludeFilter(const QStringList&)
        this->KDirLister::setMimeExcludeFilter(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_34(Smoke::Stack x) {
        // virtual void clearMimeFilter()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDirLister*>(this))) {
            this->KDirLister::clearMimeFilter();
            (void)x; // noop (for compiler warning)
        } else {
            this->clearMimeFilter();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_35(Smoke::Stack x) {
        // QStringList mimeFilters() const
        QStringList xret = ((const x_KDirLister*)this)->KDirLister::mimeFilters();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_36(Smoke::Stack x) {
        // bool matchesFilter(const QString&) const
        bool xret = ((const x_KDirLister*)this)->KDirLister::matchesFilter(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_37(Smoke::Stack x) {
        // bool matchesMimeFilter(const QString&) const
        bool xret = ((const x_KDirLister*)this)->KDirLister::matchesMimeFilter(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_38(Smoke::Stack x) {
        // void setMainWindow(QWidget*)
        this->KDirLister::setMainWindow((QWidget*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_39(Smoke::Stack x) {
        // QWidget* mainWindow()
        QWidget* xret = this->KDirLister::mainWindow();
        x[0].s_class = (void*)xret;
    }
    void x_40(Smoke::Stack x) {
        // KFileItemList items(KDirLister::WhichItems) const
        KFileItemList xret = ((const x_KDirLister*)this)->KDirLister::items((KDirLister::WhichItems)x[1].s_enum);
        x[0].s_class = (void*)new KFileItemList(xret);
    }
    void x_41(Smoke::Stack x) {
        // KFileItemList itemsForDir(const KUrl&, KDirLister::WhichItems) const
        KFileItemList xret = ((const x_KDirLister*)this)->KDirLister::itemsForDir(*(const KUrl*)x[1].s_class,(KDirLister::WhichItems)x[2].s_enum);
        x[0].s_class = (void*)new KFileItemList(xret);
    }
    static void x_42(Smoke::Stack x) {
        // static KFileItem cachedItemForUrl(const KUrl&)
        KFileItem xret = KDirLister::cachedItemForUrl(*(const KUrl*)x[1].s_class);
        x[0].s_class = (void*)new KFileItem(xret);
    }
    void x_43(Smoke::Stack x) {
        // void started(const KUrl&)
        this->KDirLister::started(*(const KUrl*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_44(Smoke::Stack x) {
        // void completed()
        this->KDirLister::completed();
        (void)x; // noop (for compiler warning)
    }
    void x_45(Smoke::Stack x) {
        // void completed(const KUrl&)
        this->KDirLister::completed(*(const KUrl*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_46(Smoke::Stack x) {
        // void canceled()
        this->KDirLister::canceled();
        (void)x; // noop (for compiler warning)
    }
    void x_47(Smoke::Stack x) {
        // void canceled(const KUrl&)
        this->KDirLister::canceled(*(const KUrl*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_48(Smoke::Stack x) {
        // void redirection(const KUrl&)
        this->KDirLister::redirection(*(const KUrl*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_49(Smoke::Stack x) {
        // void redirection(const KUrl&, const KUrl&)
        this->KDirLister::redirection(*(const KUrl*)x[1].s_class,*(const KUrl*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_50(Smoke::Stack x) {
        // void clear()
        this->KDirLister::clear();
        (void)x; // noop (for compiler warning)
    }
    void x_51(Smoke::Stack x) {
        // void clear(const KUrl&)
        this->KDirLister::clear(*(const KUrl*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_52(Smoke::Stack x) {
        // void newItems(const KFileItemList&)
        this->KDirLister::newItems(*(const KFileItemList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_53(Smoke::Stack x) {
        // void itemsAdded(const KUrl&, const KFileItemList&)
        this->KDirLister::itemsAdded(*(const KUrl*)x[1].s_class,*(const KFileItemList*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_54(Smoke::Stack x) {
        // void itemsFilteredByMime(const KFileItemList&)
        this->KDirLister::itemsFilteredByMime(*(const KFileItemList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_55(Smoke::Stack x) {
        // void deleteItem(const KFileItem&)
        this->KDirLister::deleteItem(*(const KFileItem*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_56(Smoke::Stack x) {
        // void itemsDeleted(const KFileItemList&)
        this->KDirLister::itemsDeleted(*(const KFileItemList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_57(Smoke::Stack x) {
        // void refreshItems(const QList<QPair<KFileItem,KFileItem> >&)
        this->KDirLister::refreshItems(*(const QList<QPair<KFileItem,KFileItem> >*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_58(Smoke::Stack x) {
        // void infoMessage(const QString&)
        this->KDirLister::infoMessage(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_59(Smoke::Stack x) {
        // void percent(int)
        this->KDirLister::percent((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_60(Smoke::Stack x) {
        // void totalSize(KIO::filesize_t)
        this->KDirLister::totalSize(*(KIO::filesize_t*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_61(Smoke::Stack x) {
        // void processedSize(KIO::filesize_t)
        this->KDirLister::processedSize(*(KIO::filesize_t*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_62(Smoke::Stack x) {
        // void speed(int)
        this->KDirLister::speed((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_63(Smoke::Stack x) {
        // virtual bool matchesFilter(const KFileItem&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDirLister*>(this))) {
            bool xret = ((const x_KDirLister*)this)->KDirLister::matchesFilter(*(const KFileItem*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_KDirLister*)this)->matchesFilter(*(const KFileItem*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_64(Smoke::Stack x) {
        // virtual bool matchesMimeFilter(const KFileItem&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDirLister*>(this))) {
            bool xret = ((const x_KDirLister*)this)->KDirLister::matchesMimeFilter(*(const KFileItem*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_KDirLister*)this)->matchesMimeFilter(*(const KFileItem*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_65(Smoke::Stack x) {
        // virtual bool doNameFilter(const QString&, const QList<QRegExp>&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDirLister*>(this))) {
            bool xret = ((const x_KDirLister*)this)->KDirLister::doNameFilter(*(const QString*)x[1].s_class,*(const QList<QRegExp>*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_KDirLister*)this)->doNameFilter(*(const QString*)x[1].s_class,*(const QList<QRegExp>*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_66(Smoke::Stack x) {
        // virtual bool doMimeFilter(const QString&, const QStringList&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDirLister*>(this))) {
            bool xret = ((const x_KDirLister*)this)->KDirLister::doMimeFilter(*(const QString*)x[1].s_class,*(const QStringList*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_KDirLister*)this)->doMimeFilter(*(const QString*)x[1].s_class,*(const QStringList*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_67(Smoke::Stack x) {
        // virtual void handleError(KIO::Job*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KDirLister*>(this))) {
            this->KDirLister::handleError((KIO::Job*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->handleError((KIO::Job*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_68(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = KDirLister::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_69(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = KDirLister::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_70(Smoke::Stack x) {
        // KDirLister* KDirLister()
        x_KDirLister* xret = new x_KDirLister((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_71(Smoke::Stack x) {
        // bool openUrl(const KUrl&)
        bool xret = this->KDirLister::openUrl(*(const KUrl*)x[1].s_class,(QFlags<KDirLister::OpenUrlFlag>)KDirLister::NoFlags);
        x[0].s_bool = xret;
    }
    void x_72(Smoke::Stack x) {
        // KFileItemList items() const
        KFileItemList xret = ((const x_KDirLister*)this)->KDirLister::items((KDirLister::WhichItems)KDirLister::FilteredItems);
        x[0].s_class = (void*)new KFileItemList(xret);
    }
    void x_73(Smoke::Stack x) {
        // KFileItemList itemsForDir(const KUrl&) const
        KFileItemList xret = ((const x_KDirLister*)this)->KDirLister::itemsForDir(*(const KUrl*)x[1].s_class,(KDirLister::WhichItems)KDirLister::FilteredItems);
        x[0].s_class = (void*)new KFileItemList(xret);
    }
    static void x_74(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&KDirLister::staticMetaObject;
    }
    static void x_75(Smoke::Stack x) {
        x[0].s_enum = (long)KDirLister::NoFlags;
    }
    static void x_76(Smoke::Stack x) {
        x[0].s_enum = (long)KDirLister::Keep;
    }
    static void x_77(Smoke::Stack x) {
        x[0].s_enum = (long)KDirLister::Reload;
    }
    static void x_78(Smoke::Stack x) {
        x[0].s_enum = (long)KDirLister::AllItems;
    }
    static void x_79(Smoke::Stack x) {
        x[0].s_enum = (long)KDirLister::FilteredItems;
    }
    static void x_80(Smoke::Stack x) {
        x[0].s_enum = (long)KDirLister::NONE;
    }
    static void x_81(Smoke::Stack x) {
        x[0].s_enum = (long)KDirLister::NAME_FILTER;
    }
    static void x_82(Smoke::Stack x) {
        x[0].s_enum = (long)KDirLister::MIME_FILTER;
    }
    static void x_83(Smoke::Stack x) {
        x[0].s_enum = (long)KDirLister::DOT_FILES;
    }
    static void x_84(Smoke::Stack x) {
        x[0].s_enum = (long)KDirLister::DIR_ONLY_MODE;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(687, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->KDirLister::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(688, (void*)this, x)) return (void*)x[0].s_class;
        return this->KDirLister::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(693, (void*)this, x)) return (int)x[0].s_int;
        return this->KDirLister::qt_metacall(x1, x2, x3);
    }
    virtual bool openUrl(const KUrl& x1, QFlags<KDirLister::OpenUrlFlag> x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_uint = (uint)x2;
        if (this->_binding->callMethod(695, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KDirLister::openUrl(x1, x2);
    }
    virtual void stop() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(696, (void*)this, x)) return;
        this->KDirLister::stop();
    }
    virtual void stop(const KUrl& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(697, (void*)this, x)) return;
        this->KDirLister::stop(x1);
    }
    virtual void setAutoUpdate(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(701, (void*)this, x)) return;
        this->KDirLister::setAutoUpdate(x1);
    }
    virtual void setShowingDotFiles(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(705, (void*)this, x)) return;
        this->KDirLister::setShowingDotFiles(x1);
    }
    virtual void setDirOnlyMode(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(707, (void*)this, x)) return;
        this->KDirLister::setDirOnlyMode(x1);
    }
    virtual void emitChanges() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(710, (void*)this, x)) return;
        this->KDirLister::emitChanges();
    }
    virtual void updateDirectory(const KUrl& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(711, (void*)this, x)) return;
        this->KDirLister::updateDirectory(x1);
    }
    virtual KFileItem findByUrl(const KUrl& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(714, (void*)this, x)) {
            KFileItem* xptr = (KFileItem*)x[0].s_class;
            KFileItem xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KDirLister::findByUrl(x1);
    }
    virtual KFileItem findByName(const QString& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(715, (void*)this, x)) {
            KFileItem* xptr = (KFileItem*)x[0].s_class;
            KFileItem xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KDirLister::findByName(x1);
    }
    virtual void setNameFilter(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(716, (void*)this, x)) return;
        this->KDirLister::setNameFilter(x1);
    }
    virtual void setMimeFilter(const QStringList& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(718, (void*)this, x)) return;
        this->KDirLister::setMimeFilter(x1);
    }
    virtual void clearMimeFilter() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(720, (void*)this, x)) return;
        this->KDirLister::clearMimeFilter();
    }
    virtual bool matchesFilter(const KFileItem& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(749, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KDirLister::matchesFilter(x1);
    }
    virtual bool matchesMimeFilter(const KFileItem& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(750, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KDirLister::matchesMimeFilter(x1);
    }
    virtual bool doNameFilter(const QString& x1, const QList<QRegExp>& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(751, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KDirLister::doNameFilter(x1, x2);
    }
    virtual bool doMimeFilter(const QString& x1, const QStringList& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(752, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KDirLister::doMimeFilter(x1, x2);
    }
    virtual void handleError(KIO::Job* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(753, (void*)this, x)) return;
        this->KDirLister::handleError(x1);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3858, (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(3859, (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(3860, (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(3861, (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(3862, (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(3863, (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(3864, (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 54: //KDirLister::OpenUrlFlag
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KDirLister::OpenUrlFlag;
                    break;
                case Smoke::EnumDelete:
                    delete (KDirLister::OpenUrlFlag*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KDirLister::OpenUrlFlag*)xdata = (KDirLister::OpenUrlFlag)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KDirLister::OpenUrlFlag*)xdata;
                    break;
            }
            break;
        case 55: //KDirLister::WhichItems
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KDirLister::WhichItems;
                    break;
                case Smoke::EnumDelete:
                    delete (KDirLister::WhichItems*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KDirLister::WhichItems*)xdata = (KDirLister::WhichItems)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KDirLister::WhichItems*)xdata;
                    break;
            }
            break;
        case 53: //KDirLister::Changes
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KDirLister::Changes;
                    break;
                case Smoke::EnumDelete:
                    delete (KDirLister::Changes*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KDirLister::Changes*)xdata = (KDirLister::Changes)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KDirLister::Changes*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_KDirLister() { this->_binding->deleted(46, (void*)this); }
};
void xenum_KDirLister(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_KDirLister::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_KDirLister(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KDirLister *xself = (x_KDirLister*)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_KDirLister::x_3(args);	break;
        case 4: x_KDirLister::x_4(args);	break;
        case 5: x_KDirLister::x_5(args);	break;
        case 6: x_KDirLister::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_KDirLister::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: xself->x_41(args);	break;
        case 42: x_KDirLister::x_42(args);	break;
        case 43: xself->x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: xself->x_45(args);	break;
        case 46: xself->x_46(args);	break;
        case 47: xself->x_47(args);	break;
        case 48: xself->x_48(args);	break;
        case 49: xself->x_49(args);	break;
        case 50: xself->x_50(args);	break;
        case 51: xself->x_51(args);	break;
        case 52: xself->x_52(args);	break;
        case 53: xself->x_53(args);	break;
        case 54: xself->x_54(args);	break;
        case 55: xself->x_55(args);	break;
        case 56: xself->x_56(args);	break;
        case 57: xself->x_57(args);	break;
        case 58: xself->x_58(args);	break;
        case 59: xself->x_59(args);	break;
        case 60: xself->x_60(args);	break;
        case 61: xself->x_61(args);	break;
        case 62: xself->x_62(args);	break;
        case 63: xself->x_63(args);	break;
        case 64: xself->x_64(args);	break;
        case 65: xself->x_65(args);	break;
        case 66: xself->x_66(args);	break;
        case 67: xself->x_67(args);	break;
        case 68: x_KDirLister::x_68(args);	break;
        case 69: x_KDirLister::x_69(args);	break;
        case 70: x_KDirLister::x_70(args);	break;
        case 71: xself->x_71(args);	break;
        case 72: xself->x_72(args);	break;
        case 73: xself->x_73(args);	break;
        case 74: x_KDirLister::x_74(args);	break;
        case 75: x_KDirLister::x_75(args);	break;
        case 76: x_KDirLister::x_76(args);	break;
        case 77: x_KDirLister::x_77(args);	break;
        case 78: x_KDirLister::x_78(args);	break;
        case 79: x_KDirLister::x_79(args);	break;
        case 80: x_KDirLister::x_80(args);	break;
        case 81: x_KDirLister::x_81(args);	break;
        case 82: x_KDirLister::x_82(args);	break;
        case 83: x_KDirLister::x_83(args);	break;
        case 84: x_KDirLister::x_84(args);	break;
        case 85: delete (KDirLister*)xself;	break;
    }
}

}
