//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_KACL : public KACL, public __internal_SmokeClass {
    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) {
        // KACL* KACL(const QString&)
        x_KACL* xret = new x_KACL(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KACL(const QString& x1) : KACL(x1) {}
    static void x_2(Smoke::Stack x) {
        // KACL* KACL(const KACL&)
        x_KACL* xret = new x_KACL(*(const KACL*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KACL(const KACL& x1) : KACL(x1) {}
    static void x_3(Smoke::Stack x) {
        // KACL* KACL(mode_t)
        x_KACL* xret = new x_KACL(*(mode_t*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KACL(mode_t x1) : KACL(x1) {}
    static void x_4(Smoke::Stack x) {
        // KACL* KACL()
        x_KACL* xret = new x_KACL();
        x[0].s_class = (void*)xret;
    }
    explicit x_KACL() : KACL() {}
    void x_5(Smoke::Stack x) {
        // KACL& operator=(const KACL&)
        KACL& xret = this->KACL::operator=(*(const KACL*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // bool operator==(const KACL&) const
        bool xret = ((const x_KACL*)this)->KACL::operator==(*(const KACL*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_7(Smoke::Stack x) {
        // bool operator!=(const KACL&) const
        bool xret = ((const x_KACL*)this)->KACL::operator!=(*(const KACL*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_8(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_KACL*)this)->KACL::isValid();
        x[0].s_bool = xret;
    }
    void x_9(Smoke::Stack x) {
        // unsigned short ownerPermissions() const
        unsigned short xret = ((const x_KACL*)this)->KACL::ownerPermissions();
        x[0].s_ushort = xret;
    }
    void x_10(Smoke::Stack x) {
        // bool setOwnerPermissions(unsigned short)
        bool xret = this->KACL::setOwnerPermissions((unsigned short)x[1].s_ushort);
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // unsigned short owningGroupPermissions() const
        unsigned short xret = ((const x_KACL*)this)->KACL::owningGroupPermissions();
        x[0].s_ushort = xret;
    }
    void x_12(Smoke::Stack x) {
        // bool setOwningGroupPermissions(unsigned short)
        bool xret = this->KACL::setOwningGroupPermissions((unsigned short)x[1].s_ushort);
        x[0].s_bool = xret;
    }
    void x_13(Smoke::Stack x) {
        // unsigned short othersPermissions() const
        unsigned short xret = ((const x_KACL*)this)->KACL::othersPermissions();
        x[0].s_ushort = xret;
    }
    void x_14(Smoke::Stack x) {
        // bool setOthersPermissions(unsigned short)
        bool xret = this->KACL::setOthersPermissions((unsigned short)x[1].s_ushort);
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // mode_t basePermissions() const
        mode_t xret = ((const x_KACL*)this)->KACL::basePermissions();
        x[0].s_class = (void*)new mode_t(xret);
    }
    void x_16(Smoke::Stack x) {
        // bool isExtended() const
        bool xret = ((const x_KACL*)this)->KACL::isExtended();
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // unsigned short maskPermissions(bool&) const
        unsigned short xret = ((const x_KACL*)this)->KACL::maskPermissions(*(bool*)x[1].s_class);
        x[0].s_ushort = xret;
    }
    void x_18(Smoke::Stack x) {
        // bool setMaskPermissions(unsigned short)
        bool xret = this->KACL::setMaskPermissions((unsigned short)x[1].s_ushort);
        x[0].s_bool = xret;
    }
    void x_19(Smoke::Stack x) {
        // unsigned short namedUserPermissions(const QString&, bool*) const
        unsigned short xret = ((const x_KACL*)this)->KACL::namedUserPermissions(*(const QString*)x[1].s_class,(bool*)x[2].s_class);
        x[0].s_ushort = xret;
    }
    void x_20(Smoke::Stack x) {
        // bool setNamedUserPermissions(const QString&, unsigned short)
        bool xret = this->KACL::setNamedUserPermissions(*(const QString*)x[1].s_class,(unsigned short)x[2].s_ushort);
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // QList<QPair<QString,unsigned short> > allUserPermissions() const
        QList<QPair<QString,unsigned short> > xret = ((const x_KACL*)this)->KACL::allUserPermissions();
        x[0].s_class = (void*)new QList<QPair<QString,unsigned short> >(xret);
    }
    void x_22(Smoke::Stack x) {
        // bool setAllUserPermissions(const QList<QPair<QString,unsigned short> >&)
        bool xret = this->KACL::setAllUserPermissions(*(const QList<QPair<QString,unsigned short> >*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_23(Smoke::Stack x) {
        // unsigned short namedGroupPermissions(const QString&, bool*) const
        unsigned short xret = ((const x_KACL*)this)->KACL::namedGroupPermissions(*(const QString*)x[1].s_class,(bool*)x[2].s_class);
        x[0].s_ushort = xret;
    }
    void x_24(Smoke::Stack x) {
        // bool setNamedGroupPermissions(const QString&, unsigned short)
        bool xret = this->KACL::setNamedGroupPermissions(*(const QString*)x[1].s_class,(unsigned short)x[2].s_ushort);
        x[0].s_bool = xret;
    }
    void x_25(Smoke::Stack x) {
        // QList<QPair<QString,unsigned short> > allGroupPermissions() const
        QList<QPair<QString,unsigned short> > xret = ((const x_KACL*)this)->KACL::allGroupPermissions();
        x[0].s_class = (void*)new QList<QPair<QString,unsigned short> >(xret);
    }
    void x_26(Smoke::Stack x) {
        // bool setAllGroupPermissions(const QList<QPair<QString,unsigned short> >&)
        bool xret = this->KACL::setAllGroupPermissions(*(const QList<QPair<QString,unsigned short> >*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_27(Smoke::Stack x) {
        // bool setACL(const QString&)
        bool xret = this->KACL::setACL(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_28(Smoke::Stack x) {
        // QString asString() const
        QString xret = ((const x_KACL*)this)->KACL::asString();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_29(Smoke::Stack x) {
        // virtual void virtual_hook(int, void*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KACL*>(this))) {
            this->KACL::virtual_hook((int)x[1].s_int,(void*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->virtual_hook((int)x[1].s_int,(void*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    virtual void virtual_hook(int x1, void* x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(29, (void*)this, x)) return;
        this->KACL::virtual_hook(x1, x2);
    }
    ~x_KACL() { this->_binding->deleted(1, (void*)this); }
};
void xcall_KACL(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KACL *xself = (x_KACL*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KACL::x_1(args);	break;
        case 2: x_KACL::x_2(args);	break;
        case 3: x_KACL::x_3(args);	break;
        case 4: x_KACL::x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: delete (KACL*)xself;	break;
    }
}
class x_KAbstractFileModule : public KAbstractFileModule, 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<KAbstractFileModule*>(this))) {
            const QMetaObject* xret = ((const x_KAbstractFileModule*)this)->KAbstractFileModule::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_KAbstractFileModule*)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<KAbstractFileModule*>(this))) {
            void* xret = this->KAbstractFileModule::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 = KAbstractFileModule::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 = KAbstractFileModule::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 = KAbstractFileModule::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 = KAbstractFileModule::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<KAbstractFileModule*>(this))) {
            int xret = this->KAbstractFileModule::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) {
        // KAbstractFileModule* KAbstractFileModule(QObject*)
        x_KAbstractFileModule* xret = new x_KAbstractFileModule((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KAbstractFileModule(QObject* x1) : KAbstractFileModule(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual QWidget* createFileWidget(const KUrl&, QWidget*) = 0
        QWidget* xret = this->createFileWidget(*(const KUrl*)x[1].s_class,(QWidget*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_10(Smoke::Stack x) {
        // virtual KUrl getStartUrl(const KUrl&, QString&) = 0
        KUrl xret = this->getStartUrl(*(const KUrl*)x[1].s_class,*(QString*)x[2].s_class);
        x[0].s_class = (void*)new KUrl(xret);
    }
    void x_11(Smoke::Stack x) {
        // virtual void setStartDir(const KUrl&) = 0
        this->setStartDir(*(const KUrl*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // virtual KUrl selectDirectory(const KUrl&, bool, QWidget*, const QString&) = 0
        KUrl xret = this->selectDirectory(*(const KUrl*)x[1].s_class,(bool)x[2].s_bool,(QWidget*)x[3].s_class,*(const QString*)x[4].s_class);
        x[0].s_class = (void*)new KUrl(xret);
    }
    static void x_13(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = KAbstractFileModule::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = KAbstractFileModule::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_15(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&KAbstractFileModule::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(31, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->KAbstractFileModule::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(32, (void*)this, x)) return (void*)x[0].s_class;
        return this->KAbstractFileModule::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(37, (void*)this, x)) return (int)x[0].s_int;
        return this->KAbstractFileModule::qt_metacall(x1, x2, x3);
    }
    virtual QWidget* createFileWidget(const KUrl& x1, QWidget* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        this->_binding->callMethod(39, (void*)this, x, true /*pure virtual*/);
        return (QWidget*)x[0].s_class;
    }
    virtual KUrl getStartUrl(const KUrl& x1, QString& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        this->_binding->callMethod(40, (void*)this, x, true /*pure virtual*/);
        KUrl* xptr = (KUrl*)x[0].s_class;
        KUrl xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void setStartDir(const KUrl& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(41, (void*)this, x, true /*pure virtual*/);
    }
    virtual KUrl selectDirectory(const KUrl& x1, bool x2, QWidget* x3, const QString& x4) {
        Smoke::StackItem x[5];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        x[3].s_class = (void*)x3;
        x[4].s_class = (void*)&x4;
        this->_binding->callMethod(42, (void*)this, x, true /*pure virtual*/);
        KUrl* xptr = (KUrl*)x[0].s_class;
        KUrl xret(*xptr);
        delete xptr;
        return xret;
    }
    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_KAbstractFileModule() { this->_binding->deleted(2, (void*)this); }
};
void xcall_KAbstractFileModule(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KAbstractFileModule *xself = (x_KAbstractFileModule*)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_KAbstractFileModule::x_3(args);	break;
        case 4: x_KAbstractFileModule::x_4(args);	break;
        case 5: x_KAbstractFileModule::x_5(args);	break;
        case 6: x_KAbstractFileModule::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_KAbstractFileModule::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: x_KAbstractFileModule::x_13(args);	break;
        case 14: x_KAbstractFileModule::x_14(args);	break;
        case 15: x_KAbstractFileModule::x_15(args);	break;
        case 16: delete (KAbstractFileModule*)xself;	break;
    }
}
class x_KAbstractFileWidget : public KAbstractFileWidget, 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 KUrl selectedUrl() const = 0
        KUrl xret = ((const x_KAbstractFileWidget*)this)->selectedUrl();
        x[0].s_class = (void*)new KUrl(xret);
    }
    void x_2(Smoke::Stack x) {
        // virtual KUrl::List selectedUrls() const = 0
        KUrl::List xret = ((const x_KAbstractFileWidget*)this)->selectedUrls();
        x[0].s_class = (void*)new KUrl::List(xret);
    }
    void x_3(Smoke::Stack x) {
        // virtual KUrl baseUrl() const = 0
        KUrl xret = ((const x_KAbstractFileWidget*)this)->baseUrl();
        x[0].s_class = (void*)new KUrl(xret);
    }
    void x_4(Smoke::Stack x) {
        // virtual QString selectedFile() const = 0
        QString xret = ((const x_KAbstractFileWidget*)this)->selectedFile();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_5(Smoke::Stack x) {
        // virtual QStringList selectedFiles() const = 0
        QStringList xret = ((const x_KAbstractFileWidget*)this)->selectedFiles();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_6(Smoke::Stack x) {
        // virtual void setUrl(const KUrl&, bool) = 0
        this->setUrl(*(const KUrl*)x[1].s_class,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_7(Smoke::Stack x) {
        // virtual void setSelection(const QString&) = 0
        this->setSelection(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // virtual void setOperationMode(KAbstractFileWidget::OperationMode) = 0
        this->setOperationMode((KAbstractFileWidget::OperationMode)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // virtual KAbstractFileWidget::OperationMode operationMode() const = 0
        KAbstractFileWidget::OperationMode xret = ((const x_KAbstractFileWidget*)this)->operationMode();
        x[0].s_enum = xret;
    }
    void x_10(Smoke::Stack x) {
        // virtual void setKeepLocation(bool) = 0
        this->setKeepLocation((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // virtual bool keepsLocation() const = 0
        bool xret = ((const x_KAbstractFileWidget*)this)->keepsLocation();
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // virtual void setFilter(const QString&) = 0
        this->setFilter(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // virtual QString currentFilter() const = 0
        QString xret = ((const x_KAbstractFileWidget*)this)->currentFilter();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_14(Smoke::Stack x) {
        // virtual KSharedPtr<KMimeType> currentFilterMimeType() = 0
        KSharedPtr<KMimeType> xret = this->currentFilterMimeType();
        x[0].s_class = (void*)new KSharedPtr<KMimeType>(xret);
    }
    void x_15(Smoke::Stack x) {
        // virtual void setMimeFilter(const QStringList&, const QString&) = 0
        this->setMimeFilter(*(const QStringList*)x[1].s_class,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // virtual QString currentMimeFilter() const = 0
        QString xret = ((const x_KAbstractFileWidget*)this)->currentMimeFilter();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_17(Smoke::Stack x) {
        // virtual void clearFilter() = 0
        this->clearFilter();
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // virtual void setPreviewWidget(KPreviewWidgetBase*) = 0
        this->setPreviewWidget((KPreviewWidgetBase*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // virtual void setMode(QFlags<KFile::Mode>) = 0
        this->setMode((QFlags<KFile::Mode>)x[1].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // virtual QFlags<KFile::Mode> mode() const = 0
        QFlags<KFile::Mode> xret = ((const x_KAbstractFileWidget*)this)->mode();
        x[0].s_uint = (uint)xret;
    }
    void x_21(Smoke::Stack x) {
        // virtual void setLocationLabel(const QString&) = 0
        this->setLocationLabel(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // virtual KToolBar* toolBar() const = 0
        KToolBar* xret = ((const x_KAbstractFileWidget*)this)->toolBar();
        x[0].s_class = (void*)xret;
    }
    void x_23(Smoke::Stack x) {
        // virtual KPushButton* okButton() const = 0
        KPushButton* xret = ((const x_KAbstractFileWidget*)this)->okButton();
        x[0].s_class = (void*)xret;
    }
    void x_24(Smoke::Stack x) {
        // virtual KPushButton* cancelButton() const = 0
        KPushButton* xret = ((const x_KAbstractFileWidget*)this)->cancelButton();
        x[0].s_class = (void*)xret;
    }
    void x_25(Smoke::Stack x) {
        // virtual KUrlComboBox* locationEdit() const = 0
        KUrlComboBox* xret = ((const x_KAbstractFileWidget*)this)->locationEdit();
        x[0].s_class = (void*)xret;
    }
    void x_26(Smoke::Stack x) {
        // virtual KFileFilterCombo* filterWidget() const = 0
        KFileFilterCombo* xret = ((const x_KAbstractFileWidget*)this)->filterWidget();
        x[0].s_class = (void*)xret;
    }
    void x_27(Smoke::Stack x) {
        // virtual KActionCollection* actionCollection() const = 0
        KActionCollection* xret = ((const x_KAbstractFileWidget*)this)->actionCollection();
        x[0].s_class = (void*)xret;
    }
    void x_28(Smoke::Stack x) {
        // virtual void setCustomWidget(QWidget*) = 0
        this->setCustomWidget((QWidget*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // virtual void setCustomWidget(const QString&, QWidget*) = 0
        this->setCustomWidget(*(const QString*)x[1].s_class,(QWidget*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // virtual void slotOk() = 0
        this->slotOk();
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // virtual void accept() = 0
        this->accept();
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // virtual void slotCancel() = 0
        this->slotCancel();
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // virtual void virtual_hook(int, void*) = 0
        this->virtual_hook((int)x[1].s_int,(void*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_34(Smoke::Stack x) {
        // void setConfirmOverwrite(bool)
        this->KAbstractFileWidget::setConfirmOverwrite((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_35(Smoke::Stack x) {
        // void setInlinePreviewShown(bool)
        this->KAbstractFileWidget::setInlinePreviewShown((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    static void x_36(Smoke::Stack x) {
        // KAbstractFileWidget* KAbstractFileWidget()
        x_KAbstractFileWidget* xret = new x_KAbstractFileWidget();
        x[0].s_class = (void*)xret;
    }
    explicit x_KAbstractFileWidget() : KAbstractFileWidget() {}
    static void x_37(Smoke::Stack x) {
        // KAbstractFileWidget* KAbstractFileWidget(const KAbstractFileWidget&)
        x_KAbstractFileWidget* xret = new x_KAbstractFileWidget(*(const KAbstractFileWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KAbstractFileWidget(const KAbstractFileWidget& x1) : KAbstractFileWidget(x1) {}
    void x_38(Smoke::Stack x) {
        // void setUrl(const KUrl&)
        this->setUrl(*(const KUrl*)x[1].s_class,(bool)true);
        (void)x; // noop (for compiler warning)
    }
    void x_39(Smoke::Stack x) {
        // void setMimeFilter(const QStringList&)
        this->setMimeFilter(*(const QStringList*)x[1].s_class,(const QString&)QString());
        (void)x; // noop (for compiler warning)
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)KAbstractFileWidget::Other;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)KAbstractFileWidget::Opening;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)KAbstractFileWidget::Saving;
    }
    virtual KUrl selectedUrl() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(47, (void*)this, x, true /*pure virtual*/);
        KUrl* xptr = (KUrl*)x[0].s_class;
        KUrl xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual KUrl::List selectedUrls() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(48, (void*)this, x, true /*pure virtual*/);
        KUrl::List* xptr = (KUrl::List*)x[0].s_class;
        KUrl::List xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual KUrl baseUrl() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(49, (void*)this, x, true /*pure virtual*/);
        KUrl* xptr = (KUrl*)x[0].s_class;
        KUrl xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QString selectedFile() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(50, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QStringList selectedFiles() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(51, (void*)this, x, true /*pure virtual*/);
        QStringList* xptr = (QStringList*)x[0].s_class;
        QStringList xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void setUrl(const KUrl& x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        this->_binding->callMethod(52, (void*)this, x, true /*pure virtual*/);
    }
    virtual void setSelection(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(53, (void*)this, x, true /*pure virtual*/);
    }
    virtual void setOperationMode(KAbstractFileWidget::OperationMode x1) {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        this->_binding->callMethod(54, (void*)this, x, true /*pure virtual*/);
    }
    virtual KAbstractFileWidget::OperationMode operationMode() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(55, (void*)this, x, true /*pure virtual*/);
        return (KAbstractFileWidget::OperationMode)x[0].s_enum;
    }
    virtual void setKeepLocation(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        this->_binding->callMethod(56, (void*)this, x, true /*pure virtual*/);
    }
    virtual bool keepsLocation() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(57, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual void setFilter(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(58, (void*)this, x, true /*pure virtual*/);
    }
    virtual QString currentFilter() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(59, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual KSharedPtr<KMimeType> currentFilterMimeType() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(60, (void*)this, x, true /*pure virtual*/);
        KSharedPtr<KMimeType>* xptr = (KSharedPtr<KMimeType>*)x[0].s_class;
        KSharedPtr<KMimeType> xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void setMimeFilter(const QStringList& x1, const QString& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        this->_binding->callMethod(61, (void*)this, x, true /*pure virtual*/);
    }
    virtual QString currentMimeFilter() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(62, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void clearFilter() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(63, (void*)this, x, true /*pure virtual*/);
    }
    virtual void setPreviewWidget(KPreviewWidgetBase* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(64, (void*)this, x, true /*pure virtual*/);
    }
    virtual void setMode(QFlags<KFile::Mode> x1) {
        Smoke::StackItem x[2];
        x[1].s_uint = (uint)x1;
        this->_binding->callMethod(65, (void*)this, x, true /*pure virtual*/);
    }
    virtual QFlags<KFile::Mode> mode() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(66, (void*)this, x, true /*pure virtual*/);
        return (QFlags<KFile::Mode>)x[0].s_uint;
    }
    virtual void setLocationLabel(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(67, (void*)this, x, true /*pure virtual*/);
    }
    virtual KToolBar* toolBar() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(68, (void*)this, x, true /*pure virtual*/);
        return (KToolBar*)x[0].s_class;
    }
    virtual KPushButton* okButton() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(69, (void*)this, x, true /*pure virtual*/);
        return (KPushButton*)x[0].s_class;
    }
    virtual KPushButton* cancelButton() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(70, (void*)this, x, true /*pure virtual*/);
        return (KPushButton*)x[0].s_class;
    }
    virtual KUrlComboBox* locationEdit() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(71, (void*)this, x, true /*pure virtual*/);
        return (KUrlComboBox*)x[0].s_class;
    }
    virtual KFileFilterCombo* filterWidget() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(72, (void*)this, x, true /*pure virtual*/);
        return (KFileFilterCombo*)x[0].s_class;
    }
    virtual KActionCollection* actionCollection() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(73, (void*)this, x, true /*pure virtual*/);
        return (KActionCollection*)x[0].s_class;
    }
    virtual void setCustomWidget(QWidget* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(74, (void*)this, x, true /*pure virtual*/);
    }
    virtual void setCustomWidget(const QString& x1, QWidget* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        this->_binding->callMethod(75, (void*)this, x, true /*pure virtual*/);
    }
    virtual void slotOk() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(76, (void*)this, x, true /*pure virtual*/);
    }
    virtual void accept() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(77, (void*)this, x, true /*pure virtual*/);
    }
    virtual void slotCancel() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(78, (void*)this, x, true /*pure virtual*/);
    }
    virtual void virtual_hook(int x1, void* x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        this->_binding->callMethod(79, (void*)this, x, true /*pure virtual*/);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 7: //KAbstractFileWidget::OperationMode
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KAbstractFileWidget::OperationMode;
                    break;
                case Smoke::EnumDelete:
                    delete (KAbstractFileWidget::OperationMode*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KAbstractFileWidget::OperationMode*)xdata = (KAbstractFileWidget::OperationMode)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KAbstractFileWidget::OperationMode*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_KAbstractFileWidget() { this->_binding->deleted(3, (void*)this); }
};
void xenum_KAbstractFileWidget(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_KAbstractFileWidget::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_KAbstractFileWidget(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KAbstractFileWidget *xself = (x_KAbstractFileWidget*)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: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: x_KAbstractFileWidget::x_36(args);	break;
        case 37: x_KAbstractFileWidget::x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: x_KAbstractFileWidget::x_40(args);	break;
        case 41: x_KAbstractFileWidget::x_41(args);	break;
        case 42: x_KAbstractFileWidget::x_42(args);	break;
        case 43: delete (KAbstractFileWidget*)xself;	break;
    }
}
class x_KAr : public KAr, public __internal_SmokeClass {
    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) {
        // KAr* KAr(const QString&)
        x_KAr* xret = new x_KAr(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KAr(const QString& x1) : KAr(x1) {}
    static void x_2(Smoke::Stack x) {
        // KAr* KAr(QIODevice*)
        x_KAr* xret = new x_KAr((QIODevice*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KAr(QIODevice* x1) : KAr(x1) {}
    void x_3(Smoke::Stack x) {
        // virtual bool doPrepareWriting(const QString&, const QString&, const QString&, long long, mode_t, time_t, time_t, time_t)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KAr*>(this))) {
            bool xret = this->KAr::doPrepareWriting(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(long long*)x[4].s_class,*(mode_t*)x[5].s_class,*(time_t*)x[6].s_class,*(time_t*)x[7].s_class,*(time_t*)x[8].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->doPrepareWriting(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(long long*)x[4].s_class,*(mode_t*)x[5].s_class,*(time_t*)x[6].s_class,*(time_t*)x[7].s_class,*(time_t*)x[8].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_4(Smoke::Stack x) {
        // virtual bool doFinishWriting(long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KAr*>(this))) {
            bool xret = this->KAr::doFinishWriting(*(long long*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->doFinishWriting(*(long long*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_5(Smoke::Stack x) {
        // virtual bool doWriteDir(const QString&, const QString&, const QString&, mode_t, time_t, time_t, time_t)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KAr*>(this))) {
            bool xret = this->KAr::doWriteDir(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(mode_t*)x[4].s_class,*(time_t*)x[5].s_class,*(time_t*)x[6].s_class,*(time_t*)x[7].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->doWriteDir(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(mode_t*)x[4].s_class,*(time_t*)x[5].s_class,*(time_t*)x[6].s_class,*(time_t*)x[7].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_6(Smoke::Stack x) {
        // virtual bool doWriteSymLink(const QString&, const QString&, const QString&, const QString&, mode_t, time_t, time_t, time_t)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KAr*>(this))) {
            bool xret = this->KAr::doWriteSymLink(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(const QString*)x[4].s_class,*(mode_t*)x[5].s_class,*(time_t*)x[6].s_class,*(time_t*)x[7].s_class,*(time_t*)x[8].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->doWriteSymLink(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(const QString*)x[4].s_class,*(mode_t*)x[5].s_class,*(time_t*)x[6].s_class,*(time_t*)x[7].s_class,*(time_t*)x[8].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_7(Smoke::Stack x) {
        // virtual bool openArchive(QFlags<QIODevice::OpenModeFlag>)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KAr*>(this))) {
            bool xret = this->KAr::openArchive((QFlags<QIODevice::OpenModeFlag>)x[1].s_uint);
            x[0].s_bool = xret;
        } else {
            bool xret = this->openArchive((QFlags<QIODevice::OpenModeFlag>)x[1].s_uint);
            x[0].s_bool = xret;
        }
    }
    void x_8(Smoke::Stack x) {
        // virtual bool closeArchive()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KAr*>(this))) {
            bool xret = this->KAr::closeArchive();
            x[0].s_bool = xret;
        } else {
            bool xret = this->closeArchive();
            x[0].s_bool = xret;
        }
    }
    void x_9(Smoke::Stack x) {
        // virtual void virtual_hook(int, void*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KAr*>(this))) {
            this->KAr::virtual_hook((int)x[1].s_int,(void*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->virtual_hook((int)x[1].s_int,(void*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_10(Smoke::Stack x) {
        // KAr* KAr(const KAr&)
        x_KAr* xret = new x_KAr(*(const KAr*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KAr(const KAr& x1) : KAr(x1) {}
    virtual bool doPrepareWriting(const QString& x1, const QString& x2, const QString& x3, long long x4, mode_t x5, time_t x6, time_t x7, time_t x8) {
        Smoke::StackItem x[9];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        x[4].s_class = (void*)new long long(x4);
        x[5].s_class = (void*)new mode_t(x5);
        x[6].s_class = (void*)new time_t(x6);
        x[7].s_class = (void*)new time_t(x7);
        x[8].s_class = (void*)new time_t(x8);
        if (this->_binding->callMethod(97, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KAr::doPrepareWriting(x1, x2, x3, x4, x5, x6, x7, x8);
    }
    virtual bool doFinishWriting(long long x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)new long long(x1);
        if (this->_binding->callMethod(98, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KAr::doFinishWriting(x1);
    }
    virtual bool doWriteDir(const QString& x1, const QString& x2, const QString& x3, mode_t x4, time_t x5, time_t x6, time_t x7) {
        Smoke::StackItem x[8];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        x[4].s_class = (void*)new mode_t(x4);
        x[5].s_class = (void*)new time_t(x5);
        x[6].s_class = (void*)new time_t(x6);
        x[7].s_class = (void*)new time_t(x7);
        if (this->_binding->callMethod(99, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KAr::doWriteDir(x1, x2, x3, x4, x5, x6, x7);
    }
    virtual bool doWriteSymLink(const QString& x1, const QString& x2, const QString& x3, const QString& x4, mode_t x5, time_t x6, time_t x7, time_t x8) {
        Smoke::StackItem x[9];
        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*)new mode_t(x5);
        x[6].s_class = (void*)new time_t(x6);
        x[7].s_class = (void*)new time_t(x7);
        x[8].s_class = (void*)new time_t(x8);
        if (this->_binding->callMethod(100, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KAr::doWriteSymLink(x1, x2, x3, x4, x5, x6, x7, x8);
    }
    virtual bool openArchive(QFlags<QIODevice::OpenModeFlag> x1) {
        Smoke::StackItem x[2];
        x[1].s_uint = (uint)x1;
        if (this->_binding->callMethod(101, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KAr::openArchive(x1);
    }
    virtual bool closeArchive() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(102, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KAr::closeArchive();
    }
    virtual void virtual_hook(int x1, void* x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(103, (void*)this, x)) return;
        this->KAr::virtual_hook(x1, x2);
    }
    virtual bool open(QFlags<QIODevice::OpenModeFlag> x1) {
        Smoke::StackItem x[2];
        x[1].s_uint = (uint)x1;
        if (this->_binding->callMethod(108, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchive::open(x1);
    }
    virtual bool close() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(109, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchive::close();
    }
    virtual bool writeDir(const QString& x1, const QString& x2, const QString& x3, mode_t x4, time_t x5, time_t x6, time_t x7) {
        Smoke::StackItem x[8];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        x[4].s_class = (void*)new mode_t(x4);
        x[5].s_class = (void*)new time_t(x5);
        x[6].s_class = (void*)new time_t(x6);
        x[7].s_class = (void*)new time_t(x7);
        if (this->_binding->callMethod(117, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchive::writeDir(x1, x2, x3, x4, x5, x6, x7);
    }
    virtual bool writeSymLink(const QString& x1, const QString& x2, const QString& x3, const QString& x4, mode_t x5, time_t x6, time_t x7, time_t x8) {
        Smoke::StackItem x[9];
        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*)new mode_t(x5);
        x[6].s_class = (void*)new time_t(x6);
        x[7].s_class = (void*)new time_t(x7);
        x[8].s_class = (void*)new time_t(x8);
        if (this->_binding->callMethod(118, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchive::writeSymLink(x1, x2, x3, x4, x5, x6, x7, x8);
    }
    virtual bool writeFile(const QString& x1, const QString& x2, const QString& x3, const char* x4, long long x5, mode_t x6, time_t x7, time_t x8, time_t x9) {
        Smoke::StackItem x[10];
        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*)new long long(x5);
        x[6].s_class = (void*)new mode_t(x6);
        x[7].s_class = (void*)new time_t(x7);
        x[8].s_class = (void*)new time_t(x8);
        x[9].s_class = (void*)new time_t(x9);
        if (this->_binding->callMethod(119, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchive::writeFile(x1, x2, x3, x4, x5, x6, x7, x8, x9);
    }
    virtual bool prepareWriting(const QString& x1, const QString& x2, const QString& x3, long long x4, mode_t x5, time_t x6, time_t x7, time_t x8) {
        Smoke::StackItem x[9];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        x[4].s_class = (void*)new long long(x4);
        x[5].s_class = (void*)new mode_t(x5);
        x[6].s_class = (void*)new time_t(x6);
        x[7].s_class = (void*)new time_t(x7);
        x[8].s_class = (void*)new time_t(x8);
        if (this->_binding->callMethod(120, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchive::prepareWriting(x1, x2, x3, x4, x5, x6, x7, x8);
    }
    virtual bool writeData(const char* x1, long long x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)new long long(x2);
        if (this->_binding->callMethod(121, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchive::writeData(x1, x2);
    }
    virtual bool finishWriting(long long x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)new long long(x1);
        if (this->_binding->callMethod(122, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchive::finishWriting(x1);
    }
    virtual KArchiveDirectory* rootDir() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(125, (void*)this, x)) return (KArchiveDirectory*)x[0].s_class;
        return this->KArchive::rootDir();
    }
    virtual bool createDevice(QFlags<QIODevice::OpenModeFlag> x1) {
        Smoke::StackItem x[2];
        x[1].s_uint = (uint)x1;
        if (this->_binding->callMethod(131, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchive::createDevice(x1);
    }
    ~x_KAr() { this->_binding->deleted(8, (void*)this); }
};
void xcall_KAr(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KAr *xself = (x_KAr*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KAr::x_1(args);	break;
        case 2: x_KAr::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: x_KAr::x_10(args);	break;
        case 11: delete (KAr*)xself;	break;
    }
}
class x_KArchive : public KArchive, public __internal_SmokeClass {
    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) {
        // KArchive* KArchive(const QString&)
        x_KArchive* xret = new x_KArchive(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KArchive(const QString& x1) : KArchive(x1) {}
    static void x_2(Smoke::Stack x) {
        // KArchive* KArchive(QIODevice*)
        x_KArchive* xret = new x_KArchive((QIODevice*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KArchive(QIODevice* x1) : KArchive(x1) {}
    void x_3(Smoke::Stack x) {
        // virtual bool open(QFlags<QIODevice::OpenModeFlag>)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KArchive*>(this))) {
            bool xret = this->KArchive::open((QFlags<QIODevice::OpenModeFlag>)x[1].s_uint);
            x[0].s_bool = xret;
        } else {
            bool xret = this->open((QFlags<QIODevice::OpenModeFlag>)x[1].s_uint);
            x[0].s_bool = xret;
        }
    }
    void x_4(Smoke::Stack x) {
        // virtual bool close()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KArchive*>(this))) {
            bool xret = this->KArchive::close();
            x[0].s_bool = xret;
        } else {
            bool xret = this->close();
            x[0].s_bool = xret;
        }
    }
    void x_5(Smoke::Stack x) {
        // bool isOpen() const
        bool xret = ((const x_KArchive*)this)->KArchive::isOpen();
        x[0].s_bool = xret;
    }
    void x_6(Smoke::Stack x) {
        // QFlags<QIODevice::OpenModeFlag> mode() const
        QFlags<QIODevice::OpenModeFlag> xret = ((const x_KArchive*)this)->KArchive::mode();
        x[0].s_uint = (uint)xret;
    }
    void x_7(Smoke::Stack x) {
        // QIODevice* device() const
        QIODevice* xret = ((const x_KArchive*)this)->KArchive::device();
        x[0].s_class = (void*)xret;
    }
    void x_8(Smoke::Stack x) {
        // QString fileName() const
        QString xret = ((const x_KArchive*)this)->KArchive::fileName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_9(Smoke::Stack x) {
        // const KArchiveDirectory* directory() const
        const KArchiveDirectory* xret = ((const x_KArchive*)this)->KArchive::directory();
        x[0].s_class = (void*)xret;
    }
    void x_10(Smoke::Stack x) {
        // bool addLocalFile(const QString&, const QString&)
        bool xret = this->KArchive::addLocalFile(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // bool addLocalDirectory(const QString&, const QString&)
        bool xret = this->KArchive::addLocalDirectory(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // virtual bool writeDir(const QString&, const QString&, const QString&, mode_t, time_t, time_t, time_t)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KArchive*>(this))) {
            bool xret = this->KArchive::writeDir(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(mode_t*)x[4].s_class,*(time_t*)x[5].s_class,*(time_t*)x[6].s_class,*(time_t*)x[7].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->writeDir(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(mode_t*)x[4].s_class,*(time_t*)x[5].s_class,*(time_t*)x[6].s_class,*(time_t*)x[7].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_13(Smoke::Stack x) {
        // virtual bool writeSymLink(const QString&, const QString&, const QString&, const QString&, mode_t, time_t, time_t, time_t)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KArchive*>(this))) {
            bool xret = this->KArchive::writeSymLink(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(const QString*)x[4].s_class,*(mode_t*)x[5].s_class,*(time_t*)x[6].s_class,*(time_t*)x[7].s_class,*(time_t*)x[8].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->writeSymLink(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(const QString*)x[4].s_class,*(mode_t*)x[5].s_class,*(time_t*)x[6].s_class,*(time_t*)x[7].s_class,*(time_t*)x[8].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_14(Smoke::Stack x) {
        // virtual bool writeFile(const QString&, const QString&, const QString&, const char*, long long, mode_t, time_t, time_t, time_t)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KArchive*>(this))) {
            bool xret = this->KArchive::writeFile(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(const char*)x[4].s_class,*(long long*)x[5].s_class,*(mode_t*)x[6].s_class,*(time_t*)x[7].s_class,*(time_t*)x[8].s_class,*(time_t*)x[9].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->writeFile(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(const char*)x[4].s_class,*(long long*)x[5].s_class,*(mode_t*)x[6].s_class,*(time_t*)x[7].s_class,*(time_t*)x[8].s_class,*(time_t*)x[9].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_15(Smoke::Stack x) {
        // virtual bool prepareWriting(const QString&, const QString&, const QString&, long long, mode_t, time_t, time_t, time_t)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KArchive*>(this))) {
            bool xret = this->KArchive::prepareWriting(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(long long*)x[4].s_class,*(mode_t*)x[5].s_class,*(time_t*)x[6].s_class,*(time_t*)x[7].s_class,*(time_t*)x[8].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->prepareWriting(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(long long*)x[4].s_class,*(mode_t*)x[5].s_class,*(time_t*)x[6].s_class,*(time_t*)x[7].s_class,*(time_t*)x[8].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_16(Smoke::Stack x) {
        // virtual bool writeData(const char*, long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KArchive*>(this))) {
            bool xret = this->KArchive::writeData((const char*)x[1].s_class,*(long long*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->writeData((const char*)x[1].s_class,*(long long*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_17(Smoke::Stack x) {
        // virtual bool finishWriting(long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KArchive*>(this))) {
            bool xret = this->KArchive::finishWriting(*(long long*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->finishWriting(*(long long*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_18(Smoke::Stack x) {
        // virtual bool openArchive(QFlags<QIODevice::OpenModeFlag>) = 0
        bool xret = this->openArchive((QFlags<QIODevice::OpenModeFlag>)x[1].s_uint);
        x[0].s_bool = xret;
    }
    void x_19(Smoke::Stack x) {
        // virtual bool closeArchive() = 0
        bool xret = this->closeArchive();
        x[0].s_bool = xret;
    }
    void x_20(Smoke::Stack x) {
        // virtual KArchiveDirectory* rootDir()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KArchive*>(this))) {
            KArchiveDirectory* xret = this->KArchive::rootDir();
            x[0].s_class = (void*)xret;
        } else {
            KArchiveDirectory* xret = this->rootDir();
            x[0].s_class = (void*)xret;
        }
    }
    void x_21(Smoke::Stack x) {
        // virtual bool doWriteDir(const QString&, const QString&, const QString&, mode_t, time_t, time_t, time_t) = 0
        bool xret = this->doWriteDir(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(mode_t*)x[4].s_class,*(time_t*)x[5].s_class,*(time_t*)x[6].s_class,*(time_t*)x[7].s_class);
        x[0].s_bool = xret;
    }
    void x_22(Smoke::Stack x) {
        // virtual bool doWriteSymLink(const QString&, const QString&, const QString&, const QString&, mode_t, time_t, time_t, time_t) = 0
        bool xret = this->doWriteSymLink(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(const QString*)x[4].s_class,*(mode_t*)x[5].s_class,*(time_t*)x[6].s_class,*(time_t*)x[7].s_class,*(time_t*)x[8].s_class);
        x[0].s_bool = xret;
    }
    void x_23(Smoke::Stack x) {
        // virtual bool doPrepareWriting(const QString&, const QString&, const QString&, long long, mode_t, time_t, time_t, time_t) = 0
        bool xret = this->doPrepareWriting(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(long long*)x[4].s_class,*(mode_t*)x[5].s_class,*(time_t*)x[6].s_class,*(time_t*)x[7].s_class,*(time_t*)x[8].s_class);
        x[0].s_bool = xret;
    }
    void x_24(Smoke::Stack x) {
        // virtual bool doFinishWriting(long long) = 0
        bool xret = this->doFinishWriting(*(long long*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_25(Smoke::Stack x) {
        // KArchiveDirectory* findOrCreate(const QString&)
        KArchiveDirectory* xret = this->KArchive::findOrCreate(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_26(Smoke::Stack x) {
        // virtual bool createDevice(QFlags<QIODevice::OpenModeFlag>)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KArchive*>(this))) {
            bool xret = this->KArchive::createDevice((QFlags<QIODevice::OpenModeFlag>)x[1].s_uint);
            x[0].s_bool = xret;
        } else {
            bool xret = this->createDevice((QFlags<QIODevice::OpenModeFlag>)x[1].s_uint);
            x[0].s_bool = xret;
        }
    }
    void x_27(Smoke::Stack x) {
        // void setDevice(QIODevice*)
        this->KArchive::setDevice((QIODevice*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // void setRootDir(KArchiveDirectory*)
        this->KArchive::setRootDir((KArchiveDirectory*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // virtual void virtual_hook(int, void*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KArchive*>(this))) {
            this->KArchive::virtual_hook((int)x[1].s_int,(void*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->virtual_hook((int)x[1].s_int,(void*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_30(Smoke::Stack x) {
        // KArchive* KArchive(const KArchive&)
        x_KArchive* xret = new x_KArchive(*(const KArchive*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KArchive(const KArchive& x1) : KArchive(x1) {}
    void x_31(Smoke::Stack x) {
        // bool writeDir(const QString&, const QString&, const QString&)
        bool xret = this->KArchive::writeDir(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(mode_t)040755,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime);
        x[0].s_bool = xret;
    }
    void x_32(Smoke::Stack x) {
        // bool writeDir(const QString&, const QString&, const QString&, mode_t)
        bool xret = this->KArchive::writeDir(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(mode_t*)x[4].s_class,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime);
        x[0].s_bool = xret;
    }
    void x_33(Smoke::Stack x) {
        // bool writeDir(const QString&, const QString&, const QString&, mode_t, time_t)
        bool xret = this->KArchive::writeDir(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(mode_t*)x[4].s_class,*(time_t*)x[5].s_class,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime);
        x[0].s_bool = xret;
    }
    void x_34(Smoke::Stack x) {
        // bool writeDir(const QString&, const QString&, const QString&, mode_t, time_t, time_t)
        bool xret = this->KArchive::writeDir(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(mode_t*)x[4].s_class,*(time_t*)x[5].s_class,*(time_t*)x[6].s_class,(time_t)KArchive::UnknownTime);
        x[0].s_bool = xret;
    }
    void x_35(Smoke::Stack x) {
        // bool writeSymLink(const QString&, const QString&, const QString&, const QString&)
        bool xret = this->KArchive::writeSymLink(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(const QString*)x[4].s_class,(mode_t)0120755,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime);
        x[0].s_bool = xret;
    }
    void x_36(Smoke::Stack x) {
        // bool writeSymLink(const QString&, const QString&, const QString&, const QString&, mode_t)
        bool xret = this->KArchive::writeSymLink(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(const QString*)x[4].s_class,*(mode_t*)x[5].s_class,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime);
        x[0].s_bool = xret;
    }
    void x_37(Smoke::Stack x) {
        // bool writeSymLink(const QString&, const QString&, const QString&, const QString&, mode_t, time_t)
        bool xret = this->KArchive::writeSymLink(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(const QString*)x[4].s_class,*(mode_t*)x[5].s_class,*(time_t*)x[6].s_class,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime);
        x[0].s_bool = xret;
    }
    void x_38(Smoke::Stack x) {
        // bool writeSymLink(const QString&, const QString&, const QString&, const QString&, mode_t, time_t, time_t)
        bool xret = this->KArchive::writeSymLink(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(const QString*)x[4].s_class,*(mode_t*)x[5].s_class,*(time_t*)x[6].s_class,*(time_t*)x[7].s_class,(time_t)KArchive::UnknownTime);
        x[0].s_bool = xret;
    }
    void x_39(Smoke::Stack x) {
        // bool writeFile(const QString&, const QString&, const QString&, const char*, long long)
        bool xret = this->KArchive::writeFile(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(const char*)x[4].s_class,*(long long*)x[5].s_class,(mode_t)0100644,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime);
        x[0].s_bool = xret;
    }
    void x_40(Smoke::Stack x) {
        // bool writeFile(const QString&, const QString&, const QString&, const char*, long long, mode_t)
        bool xret = this->KArchive::writeFile(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(const char*)x[4].s_class,*(long long*)x[5].s_class,*(mode_t*)x[6].s_class,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime);
        x[0].s_bool = xret;
    }
    void x_41(Smoke::Stack x) {
        // bool writeFile(const QString&, const QString&, const QString&, const char*, long long, mode_t, time_t)
        bool xret = this->KArchive::writeFile(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(const char*)x[4].s_class,*(long long*)x[5].s_class,*(mode_t*)x[6].s_class,*(time_t*)x[7].s_class,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime);
        x[0].s_bool = xret;
    }
    void x_42(Smoke::Stack x) {
        // bool writeFile(const QString&, const QString&, const QString&, const char*, long long, mode_t, time_t, time_t)
        bool xret = this->KArchive::writeFile(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(const char*)x[4].s_class,*(long long*)x[5].s_class,*(mode_t*)x[6].s_class,*(time_t*)x[7].s_class,*(time_t*)x[8].s_class,(time_t)KArchive::UnknownTime);
        x[0].s_bool = xret;
    }
    void x_43(Smoke::Stack x) {
        // bool prepareWriting(const QString&, const QString&, const QString&, long long)
        bool xret = this->KArchive::prepareWriting(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(long long*)x[4].s_class,(mode_t)0100644,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime);
        x[0].s_bool = xret;
    }
    void x_44(Smoke::Stack x) {
        // bool prepareWriting(const QString&, const QString&, const QString&, long long, mode_t)
        bool xret = this->KArchive::prepareWriting(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(long long*)x[4].s_class,*(mode_t*)x[5].s_class,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime);
        x[0].s_bool = xret;
    }
    void x_45(Smoke::Stack x) {
        // bool prepareWriting(const QString&, const QString&, const QString&, long long, mode_t, time_t)
        bool xret = this->KArchive::prepareWriting(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(long long*)x[4].s_class,*(mode_t*)x[5].s_class,*(time_t*)x[6].s_class,(time_t)KArchive::UnknownTime,(time_t)KArchive::UnknownTime);
        x[0].s_bool = xret;
    }
    void x_46(Smoke::Stack x) {
        // bool prepareWriting(const QString&, const QString&, const QString&, long long, mode_t, time_t, time_t)
        bool xret = this->KArchive::prepareWriting(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,*(long long*)x[4].s_class,*(mode_t*)x[5].s_class,*(time_t*)x[6].s_class,*(time_t*)x[7].s_class,(time_t)KArchive::UnknownTime);
        x[0].s_bool = xret;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)KArchive::UnknownTime;
    }
    virtual bool open(QFlags<QIODevice::OpenModeFlag> x1) {
        Smoke::StackItem x[2];
        x[1].s_uint = (uint)x1;
        if (this->_binding->callMethod(108, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchive::open(x1);
    }
    virtual bool close() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(109, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchive::close();
    }
    virtual bool writeDir(const QString& x1, const QString& x2, const QString& x3, mode_t x4, time_t x5, time_t x6, time_t x7) {
        Smoke::StackItem x[8];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        x[4].s_class = (void*)new mode_t(x4);
        x[5].s_class = (void*)new time_t(x5);
        x[6].s_class = (void*)new time_t(x6);
        x[7].s_class = (void*)new time_t(x7);
        if (this->_binding->callMethod(117, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchive::writeDir(x1, x2, x3, x4, x5, x6, x7);
    }
    virtual bool writeSymLink(const QString& x1, const QString& x2, const QString& x3, const QString& x4, mode_t x5, time_t x6, time_t x7, time_t x8) {
        Smoke::StackItem x[9];
        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*)new mode_t(x5);
        x[6].s_class = (void*)new time_t(x6);
        x[7].s_class = (void*)new time_t(x7);
        x[8].s_class = (void*)new time_t(x8);
        if (this->_binding->callMethod(118, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchive::writeSymLink(x1, x2, x3, x4, x5, x6, x7, x8);
    }
    virtual bool writeFile(const QString& x1, const QString& x2, const QString& x3, const char* x4, long long x5, mode_t x6, time_t x7, time_t x8, time_t x9) {
        Smoke::StackItem x[10];
        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*)new long long(x5);
        x[6].s_class = (void*)new mode_t(x6);
        x[7].s_class = (void*)new time_t(x7);
        x[8].s_class = (void*)new time_t(x8);
        x[9].s_class = (void*)new time_t(x9);
        if (this->_binding->callMethod(119, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchive::writeFile(x1, x2, x3, x4, x5, x6, x7, x8, x9);
    }
    virtual bool prepareWriting(const QString& x1, const QString& x2, const QString& x3, long long x4, mode_t x5, time_t x6, time_t x7, time_t x8) {
        Smoke::StackItem x[9];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        x[4].s_class = (void*)new long long(x4);
        x[5].s_class = (void*)new mode_t(x5);
        x[6].s_class = (void*)new time_t(x6);
        x[7].s_class = (void*)new time_t(x7);
        x[8].s_class = (void*)new time_t(x8);
        if (this->_binding->callMethod(120, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchive::prepareWriting(x1, x2, x3, x4, x5, x6, x7, x8);
    }
    virtual bool writeData(const char* x1, long long x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)new long long(x2);
        if (this->_binding->callMethod(121, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchive::writeData(x1, x2);
    }
    virtual bool finishWriting(long long x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)new long long(x1);
        if (this->_binding->callMethod(122, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchive::finishWriting(x1);
    }
    virtual bool openArchive(QFlags<QIODevice::OpenModeFlag> x1) {
        Smoke::StackItem x[2];
        x[1].s_uint = (uint)x1;
        this->_binding->callMethod(123, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool closeArchive() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(124, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual KArchiveDirectory* rootDir() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(125, (void*)this, x)) return (KArchiveDirectory*)x[0].s_class;
        return this->KArchive::rootDir();
    }
    virtual bool doWriteDir(const QString& x1, const QString& x2, const QString& x3, mode_t x4, time_t x5, time_t x6, time_t x7) {
        Smoke::StackItem x[8];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        x[4].s_class = (void*)new mode_t(x4);
        x[5].s_class = (void*)new time_t(x5);
        x[6].s_class = (void*)new time_t(x6);
        x[7].s_class = (void*)new time_t(x7);
        this->_binding->callMethod(126, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool doWriteSymLink(const QString& x1, const QString& x2, const QString& x3, const QString& x4, mode_t x5, time_t x6, time_t x7, time_t x8) {
        Smoke::StackItem x[9];
        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*)new mode_t(x5);
        x[6].s_class = (void*)new time_t(x6);
        x[7].s_class = (void*)new time_t(x7);
        x[8].s_class = (void*)new time_t(x8);
        this->_binding->callMethod(127, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool doPrepareWriting(const QString& x1, const QString& x2, const QString& x3, long long x4, mode_t x5, time_t x6, time_t x7, time_t x8) {
        Smoke::StackItem x[9];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        x[4].s_class = (void*)new long long(x4);
        x[5].s_class = (void*)new mode_t(x5);
        x[6].s_class = (void*)new time_t(x6);
        x[7].s_class = (void*)new time_t(x7);
        x[8].s_class = (void*)new time_t(x8);
        this->_binding->callMethod(128, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool doFinishWriting(long long x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)new long long(x1);
        this->_binding->callMethod(129, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool createDevice(QFlags<QIODevice::OpenModeFlag> x1) {
        Smoke::StackItem x[2];
        x[1].s_uint = (uint)x1;
        if (this->_binding->callMethod(131, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchive::createDevice(x1);
    }
    virtual void virtual_hook(int x1, void* x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(134, (void*)this, x)) return;
        this->KArchive::virtual_hook(x1, x2);
    }
    ~x_KArchive() { this->_binding->deleted(9, (void*)this); }
};
void xcall_KArchive(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KArchive *xself = (x_KArchive*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KArchive::x_1(args);	break;
        case 2: x_KArchive::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: x_KArchive::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: xself->x_42(args);	break;
        case 43: xself->x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: xself->x_45(args);	break;
        case 46: xself->x_46(args);	break;
        case 47: x_KArchive::x_47(args);	break;
        case 48: delete (KArchive*)xself;	break;
    }
}
class x_KArchiveDirectory : public KArchiveDirectory, public __internal_SmokeClass {
    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) {
        // KArchiveDirectory* KArchiveDirectory(KArchive*, const QString&, int, int, const QString&, const QString&, const QString&)
        x_KArchiveDirectory* xret = new x_KArchiveDirectory((KArchive*)x[1].s_class,*(const QString*)x[2].s_class,(int)x[3].s_int,(int)x[4].s_int,*(const QString*)x[5].s_class,*(const QString*)x[6].s_class,*(const QString*)x[7].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KArchiveDirectory(KArchive* x1, const QString& x2, int x3, int x4, const QString& x5, const QString& x6, const QString& x7) : KArchiveDirectory(x1, x2, x3, x4, x5, x6, x7) {}
    void x_2(Smoke::Stack x) {
        // QStringList entries() const
        QStringList xret = ((const x_KArchiveDirectory*)this)->KArchiveDirectory::entries();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_3(Smoke::Stack x) {
        // const KArchiveEntry* entry(const QString&) const
        const KArchiveEntry* xret = ((const x_KArchiveDirectory*)this)->KArchiveDirectory::entry(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_4(Smoke::Stack x) {
        // void addEntry(KArchiveEntry*)
        this->KArchiveDirectory::addEntry((KArchiveEntry*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) {
        // void removeEntry(KArchiveEntry*)
        this->KArchiveDirectory::removeEntry((KArchiveEntry*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_6(Smoke::Stack x) {
        // virtual bool isDirectory() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KArchiveDirectory*>(this))) {
            bool xret = ((const x_KArchiveDirectory*)this)->KArchiveDirectory::isDirectory();
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_KArchiveDirectory*)this)->isDirectory();
            x[0].s_bool = xret;
        }
    }
    void x_7(Smoke::Stack x) {
        // void copyTo(const QString&, bool) const
        ((const x_KArchiveDirectory*)this)->KArchiveDirectory::copyTo(*(const QString*)x[1].s_class,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // virtual void virtual_hook(int, void*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KArchiveDirectory*>(this))) {
            this->KArchiveDirectory::virtual_hook((int)x[1].s_int,(void*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->virtual_hook((int)x[1].s_int,(void*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_9(Smoke::Stack x) {
        // KArchiveDirectory* KArchiveDirectory(const KArchiveDirectory&)
        x_KArchiveDirectory* xret = new x_KArchiveDirectory(*(const KArchiveDirectory*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KArchiveDirectory(const KArchiveDirectory& x1) : KArchiveDirectory(x1) {}
    void x_10(Smoke::Stack x) {
        // void copyTo(const QString&) const
        ((const x_KArchiveDirectory*)this)->KArchiveDirectory::copyTo(*(const QString*)x[1].s_class,(bool)true);
        (void)x; // noop (for compiler warning)
    }
    virtual bool isDirectory() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(159, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchiveDirectory::isDirectory();
    }
    virtual void virtual_hook(int x1, void* x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(161, (void*)this, x)) return;
        this->KArchiveDirectory::virtual_hook(x1, x2);
    }
    virtual bool isFile() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(173, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KArchiveEntry::isFile();
    }
    ~x_KArchiveDirectory() { this->_binding->deleted(10, (void*)this); }
};
void xcall_KArchiveDirectory(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KArchiveDirectory *xself = (x_KArchiveDirectory*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KArchiveDirectory::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: x_KArchiveDirectory::x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: delete (KArchiveDirectory*)xself;	break;
    }
}

}
