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

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

class __internal_SmokeClass {};

namespace __smokekdecore {

class x_KTzfileTimeZoneBackend : public KTzfileTimeZoneBackend, 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) {
        // KTzfileTimeZoneBackend* KTzfileTimeZoneBackend(KTzfileTimeZoneSource*, const QString&, const QString&, float, float, const QString&)
        x_KTzfileTimeZoneBackend* xret = new x_KTzfileTimeZoneBackend((KTzfileTimeZoneSource*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(float)x[4].s_float,(float)x[5].s_float,*(const QString*)x[6].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTzfileTimeZoneBackend(KTzfileTimeZoneSource* x1, const QString& x2, const QString& x3, float x4, float x5, const QString& x6) : KTzfileTimeZoneBackend(x1, x2, x3, x4, x5, x6) {}
    void x_2(Smoke::Stack x) {
        // virtual KTimeZoneBackend* clone() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTzfileTimeZoneBackend*>(this))) {
            KTimeZoneBackend* xret = ((const x_KTzfileTimeZoneBackend*)this)->KTzfileTimeZoneBackend::clone();
            x[0].s_class = (void*)xret;
        } else {
            KTimeZoneBackend* xret = ((const x_KTzfileTimeZoneBackend*)this)->clone();
            x[0].s_class = (void*)xret;
        }
    }
    void x_3(Smoke::Stack x) {
        // virtual QByteArray type() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTzfileTimeZoneBackend*>(this))) {
            QByteArray xret = ((const x_KTzfileTimeZoneBackend*)this)->KTzfileTimeZoneBackend::type();
            x[0].s_class = (void*)new QByteArray(xret);
        } else {
            QByteArray xret = ((const x_KTzfileTimeZoneBackend*)this)->type();
            x[0].s_class = (void*)new QByteArray(xret);
        }
    }
    void x_4(Smoke::Stack x) {
        // virtual bool hasTransitions(const KTimeZone*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTzfileTimeZoneBackend*>(this))) {
            bool xret = ((const x_KTzfileTimeZoneBackend*)this)->KTzfileTimeZoneBackend::hasTransitions((const KTimeZone*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_KTzfileTimeZoneBackend*)this)->hasTransitions((const KTimeZone*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_5(Smoke::Stack x) {
        // KTzfileTimeZoneBackend* KTzfileTimeZoneBackend(const KTzfileTimeZoneBackend&)
        x_KTzfileTimeZoneBackend* xret = new x_KTzfileTimeZoneBackend(*(const KTzfileTimeZoneBackend*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTzfileTimeZoneBackend(const KTzfileTimeZoneBackend& x1) : KTzfileTimeZoneBackend(x1) {}
    virtual KTimeZoneBackend* clone() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3090, (void*)this, x)) return (KTimeZoneBackend*)x[0].s_class;
        return this->KTzfileTimeZoneBackend::clone();
    }
    virtual QByteArray type() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3091, (void*)this, x)) {
            QByteArray* xptr = (QByteArray*)x[0].s_class;
            QByteArray xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KTzfileTimeZoneBackend::type();
    }
    virtual bool hasTransitions(const KTimeZone* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3092, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTzfileTimeZoneBackend::hasTransitions(x1);
    }
    virtual int offsetAtZoneTime(const KTimeZone* x1, const QDateTime& x2, int* x3) const {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(2946, (void*)this, x)) return (int)x[0].s_int;
        return this->KTimeZoneBackend::offsetAtZoneTime(x1, x2, x3);
    }
    virtual int offsetAtUtc(const KTimeZone* x1, const QDateTime& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(2947, (void*)this, x)) return (int)x[0].s_int;
        return this->KTimeZoneBackend::offsetAtUtc(x1, x2);
    }
    virtual int offset(const KTimeZone* x1, time_t x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)new time_t(x2);
        if (this->_binding->callMethod(2948, (void*)this, x)) return (int)x[0].s_int;
        return this->KTimeZoneBackend::offset(x1, x2);
    }
    virtual bool isDstAtUtc(const KTimeZone* x1, const QDateTime& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(2949, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTimeZoneBackend::isDstAtUtc(x1, x2);
    }
    virtual bool isDst(const KTimeZone* x1, time_t x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)new time_t(x2);
        if (this->_binding->callMethod(2950, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTimeZoneBackend::isDst(x1, x2);
    }
    ~x_KTzfileTimeZoneBackend() { this->_binding->deleted(126, (void*)this); }
};
void xcall_KTzfileTimeZoneBackend(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTzfileTimeZoneBackend *xself = (x_KTzfileTimeZoneBackend*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KTzfileTimeZoneBackend::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: x_KTzfileTimeZoneBackend::x_5(args);	break;
        case 6: delete (KTzfileTimeZoneBackend*)xself;	break;
    }
}
class x_KTzfileTimeZoneSource : public KTzfileTimeZoneSource, 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) {
        // KTzfileTimeZoneSource* KTzfileTimeZoneSource(const QString&)
        x_KTzfileTimeZoneSource* xret = new x_KTzfileTimeZoneSource(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTzfileTimeZoneSource(const QString& x1) : KTzfileTimeZoneSource(x1) {}
    void x_2(Smoke::Stack x) {
        // QString location() const
        QString xret = ((const x_KTzfileTimeZoneSource*)this)->KTzfileTimeZoneSource::location();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_3(Smoke::Stack x) {
        // virtual KTimeZoneData* parse(const KTimeZone&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KTzfileTimeZoneSource*>(this))) {
            KTimeZoneData* xret = ((const x_KTzfileTimeZoneSource*)this)->KTzfileTimeZoneSource::parse(*(const KTimeZone*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            KTimeZoneData* xret = ((const x_KTzfileTimeZoneSource*)this)->parse(*(const KTimeZone*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    static void x_4(Smoke::Stack x) {
        // KTzfileTimeZoneSource* KTzfileTimeZoneSource(const KTzfileTimeZoneSource&)
        x_KTzfileTimeZoneSource* xret = new x_KTzfileTimeZoneSource(*(const KTzfileTimeZoneSource*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTzfileTimeZoneSource(const KTzfileTimeZoneSource& x1) : KTzfileTimeZoneSource(x1) {}
    virtual KTimeZoneData* parse(const KTimeZone& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(3097, (void*)this, x)) return (KTimeZoneData*)x[0].s_class;
        return this->KTzfileTimeZoneSource::parse(x1);
    }
    ~x_KTzfileTimeZoneSource() { this->_binding->deleted(127, (void*)this); }
};
void xcall_KTzfileTimeZoneSource(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTzfileTimeZoneSource *xself = (x_KTzfileTimeZoneSource*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KTzfileTimeZoneSource::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: x_KTzfileTimeZoneSource::x_4(args);	break;
        case 5: delete (KTzfileTimeZoneSource*)xself;	break;
    }
}
class x_KUrl : public KUrl {
    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) {
        // KUrl* KUrl()
        x_KUrl* xret = new x_KUrl();
        x[0].s_class = (void*)xret;
    }
    explicit x_KUrl() : KUrl() {}
    static void x_2(Smoke::Stack x) {
        // KUrl* KUrl(const QString&)
        x_KUrl* xret = new x_KUrl(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KUrl(const QString& x1) : KUrl(x1) {}
    static void x_3(Smoke::Stack x) {
        // KUrl* KUrl(const char*)
        x_KUrl* xret = new x_KUrl((const char*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KUrl(const char* x1) : KUrl(x1) {}
    static void x_4(Smoke::Stack x) {
        // KUrl* KUrl(const QByteArray&)
        x_KUrl* xret = new x_KUrl(*(const QByteArray*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KUrl(const QByteArray& x1) : KUrl(x1) {}
    static void x_5(Smoke::Stack x) {
        // KUrl* KUrl(const KUrl&)
        x_KUrl* xret = new x_KUrl(*(const KUrl*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KUrl(const KUrl& x1) : KUrl(x1) {}
    static void x_6(Smoke::Stack x) {
        // KUrl* KUrl(const QUrl&)
        x_KUrl* xret = new x_KUrl(*(const QUrl*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KUrl(const QUrl& x1) : KUrl(x1) {}
    static void x_7(Smoke::Stack x) {
        // KUrl* KUrl(const KUrl&, const QString&)
        x_KUrl* xret = new x_KUrl(*(const KUrl*)x[1].s_class,*(const QString*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KUrl(const KUrl& x1, const QString& x2) : KUrl(x1, x2) {}
    void x_8(Smoke::Stack x) {
        // QString protocol() const
        QString xret = ((const x_KUrl*)this)->KUrl::protocol();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_9(Smoke::Stack x) {
        // void setProtocol(const QString&)
        this->KUrl::setProtocol(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // QString user() const
        QString xret = ((const x_KUrl*)this)->KUrl::user();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_11(Smoke::Stack x) {
        // void setUser(const QString&)
        this->KUrl::setUser(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // bool hasUser() const
        bool xret = ((const x_KUrl*)this)->KUrl::hasUser();
        x[0].s_bool = xret;
    }
    void x_13(Smoke::Stack x) {
        // QString pass() const
        QString xret = ((const x_KUrl*)this)->KUrl::pass();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_14(Smoke::Stack x) {
        // void setPass(const QString&)
        this->KUrl::setPass(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // bool hasPass() const
        bool xret = ((const x_KUrl*)this)->KUrl::hasPass();
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // bool hasHost() const
        bool xret = ((const x_KUrl*)this)->KUrl::hasHost();
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // QString path(KUrl::AdjustPathOption) const
        QString xret = ((const x_KUrl*)this)->KUrl::path((KUrl::AdjustPathOption)x[1].s_enum);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_18(Smoke::Stack x) {
        // QString toLocalFile(KUrl::AdjustPathOption) const
        QString xret = ((const x_KUrl*)this)->KUrl::toLocalFile((KUrl::AdjustPathOption)x[1].s_enum);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_19(Smoke::Stack x) {
        // void setPath(const QString&)
        this->KUrl::setPath(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // bool hasPath() const
        bool xret = ((const x_KUrl*)this)->KUrl::hasPath();
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // void cleanPath(const KUrl::CleanPathOption&)
        this->KUrl::cleanPath(*(const KUrl::CleanPathOption*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // void adjustPath(KUrl::AdjustPathOption)
        this->KUrl::adjustPath((KUrl::AdjustPathOption)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // void setEncodedPathAndQuery(const QString&)
        this->KUrl::setEncodedPathAndQuery(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // QString encodedPathAndQuery(KUrl::AdjustPathOption, const QFlags<KUrl::EncodedPathAndQueryOption>&) const
        QString xret = ((const x_KUrl*)this)->KUrl::encodedPathAndQuery((KUrl::AdjustPathOption)x[1].s_enum,*(const QFlags<KUrl::EncodedPathAndQueryOption>*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_25(Smoke::Stack x) {
        // void setQuery(const QString&)
        this->KUrl::setQuery(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // QString query() const
        QString xret = ((const x_KUrl*)this)->KUrl::query();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_27(Smoke::Stack x) {
        // QString ref() const
        QString xret = ((const x_KUrl*)this)->KUrl::ref();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_28(Smoke::Stack x) {
        // void setRef(const QString&)
        this->KUrl::setRef(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // bool hasRef() const
        bool xret = ((const x_KUrl*)this)->KUrl::hasRef();
        x[0].s_bool = xret;
    }
    void x_30(Smoke::Stack x) {
        // QString htmlRef() const
        QString xret = ((const x_KUrl*)this)->KUrl::htmlRef();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_31(Smoke::Stack x) {
        // QString encodedHtmlRef() const
        QString xret = ((const x_KUrl*)this)->KUrl::encodedHtmlRef();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_32(Smoke::Stack x) {
        // void setHTMLRef(const QString&)
        this->KUrl::setHTMLRef(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // bool hasHTMLRef() const
        bool xret = ((const x_KUrl*)this)->KUrl::hasHTMLRef();
        x[0].s_bool = xret;
    }
    void x_34(Smoke::Stack x) {
        // bool isLocalFile() const
        bool xret = ((const x_KUrl*)this)->KUrl::isLocalFile();
        x[0].s_bool = xret;
    }
    void x_35(Smoke::Stack x) {
        // void setFileEncoding(const QString&)
        this->KUrl::setFileEncoding(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_36(Smoke::Stack x) {
        // QString fileEncoding() const
        QString xret = ((const x_KUrl*)this)->KUrl::fileEncoding();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_37(Smoke::Stack x) {
        // bool hasSubUrl() const
        bool xret = ((const x_KUrl*)this)->KUrl::hasSubUrl();
        x[0].s_bool = xret;
    }
    void x_38(Smoke::Stack x) {
        // void addPath(const QString&)
        this->KUrl::addPath(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_39(Smoke::Stack x) {
        // QMap<QString,QString> queryItems(const QFlags<KUrl::QueryItemsOption>&) const
        QMap<QString,QString> xret = ((const x_KUrl*)this)->KUrl::queryItems(*(const QFlags<KUrl::QueryItemsOption>*)x[1].s_class);
        x[0].s_class = (void*)new QMap<QString,QString>(xret);
    }
    void x_40(Smoke::Stack x) {
        // QString queryItem(const QString&) const
        QString xret = ((const x_KUrl*)this)->KUrl::queryItem(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_41(Smoke::Stack x) {
        // void addQueryItem(const QString&, const QString&)
        this->KUrl::addQueryItem(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_42(Smoke::Stack x) {
        // void setFileName(const QString&)
        this->KUrl::setFileName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_43(Smoke::Stack x) {
        // QString fileName(const QFlags<KUrl::DirectoryOption>&) const
        QString xret = ((const x_KUrl*)this)->KUrl::fileName(*(const QFlags<KUrl::DirectoryOption>*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_44(Smoke::Stack x) {
        // QString directory(const QFlags<KUrl::DirectoryOption>&) const
        QString xret = ((const x_KUrl*)this)->KUrl::directory(*(const QFlags<KUrl::DirectoryOption>*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_45(Smoke::Stack x) {
        // void setDirectory(const QString&)
        this->KUrl::setDirectory(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_46(Smoke::Stack x) {
        // bool cd(const QString&)
        bool xret = this->KUrl::cd(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_47(Smoke::Stack x) {
        // QString url(KUrl::AdjustPathOption) const
        QString xret = ((const x_KUrl*)this)->KUrl::url((KUrl::AdjustPathOption)x[1].s_enum);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_48(Smoke::Stack x) {
        // QString prettyUrl(KUrl::AdjustPathOption) const
        QString xret = ((const x_KUrl*)this)->KUrl::prettyUrl((KUrl::AdjustPathOption)x[1].s_enum);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_49(Smoke::Stack x) {
        // QString pathOrUrl() const
        QString xret = ((const x_KUrl*)this)->KUrl::pathOrUrl();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_50(Smoke::Stack x) {
        // QString pathOrUrl(KUrl::AdjustPathOption) const
        QString xret = ((const x_KUrl*)this)->KUrl::pathOrUrl((KUrl::AdjustPathOption)x[1].s_enum);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_51(Smoke::Stack x) {
        // QString toMimeDataString() const
        QString xret = ((const x_KUrl*)this)->KUrl::toMimeDataString();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_52(Smoke::Stack x) {
        // KUrl upUrl() const
        KUrl xret = ((const x_KUrl*)this)->KUrl::upUrl();
        x[0].s_class = (void*)new KUrl(xret);
    }
    void x_53(Smoke::Stack x) {
        // KUrl& operator=(const KUrl&)
        KUrl& xret = this->KUrl::operator=(*(const KUrl*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_54(Smoke::Stack x) {
        // KUrl& operator=(const char*)
        KUrl& xret = this->KUrl::operator=((const char*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_55(Smoke::Stack x) {
        // KUrl& operator=(const QByteArray&)
        KUrl& xret = this->KUrl::operator=(*(const QByteArray*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_56(Smoke::Stack x) {
        // KUrl& operator=(const QString&)
        KUrl& xret = this->KUrl::operator=(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_57(Smoke::Stack x) {
        // bool operator==(const KUrl&) const
        bool xret = ((const x_KUrl*)this)->KUrl::operator==(*(const KUrl*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_58(Smoke::Stack x) {
        // bool operator==(const QString&) const
        bool xret = ((const x_KUrl*)this)->KUrl::operator==(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_59(Smoke::Stack x) {
        // bool operator!=(const KUrl&) const
        bool xret = ((const x_KUrl*)this)->KUrl::operator!=(*(const KUrl*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_60(Smoke::Stack x) {
        // bool operator!=(const QString&) const
        bool xret = ((const x_KUrl*)this)->KUrl::operator!=(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_61(Smoke::Stack x) {
        // QVariant operator QVariant() const
        QVariant xret = ((const x_KUrl*)this)->KUrl::operator QVariant();
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_62(Smoke::Stack x) {
        // bool cmp(const KUrl&, bool) const
        bool xret = ((const x_KUrl*)this)->KUrl::cmp(*(const KUrl*)x[1].s_class,(bool)x[2].s_bool);
        x[0].s_bool = xret;
    }
    void x_63(Smoke::Stack x) {
        // bool equals(const KUrl&, const QFlags<KUrl::EqualsOption>&) const
        bool xret = ((const x_KUrl*)this)->KUrl::equals(*(const KUrl*)x[1].s_class,*(const QFlags<KUrl::EqualsOption>*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_64(Smoke::Stack x) {
        // bool isParentOf(const KUrl&) const
        bool xret = ((const x_KUrl*)this)->KUrl::isParentOf(*(const KUrl*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_65(Smoke::Stack x) {
        // static KUrl::List split(const QString&)
        KUrl::List xret = KUrl::split(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new KUrl::List(xret);
    }
    static void x_66(Smoke::Stack x) {
        // static KUrl::List split(const KUrl&)
        KUrl::List xret = KUrl::split(*(const KUrl*)x[1].s_class);
        x[0].s_class = (void*)new KUrl::List(xret);
    }
    static void x_67(Smoke::Stack x) {
        // static KUrl join(const KUrl::List&)
        KUrl xret = KUrl::join(*(const KUrl::List*)x[1].s_class);
        x[0].s_class = (void*)new KUrl(xret);
    }
    static void x_68(Smoke::Stack x) {
        // static KUrl fromPath(const QString&)
        KUrl xret = KUrl::fromPath(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new KUrl(xret);
    }
    static void x_69(Smoke::Stack x) {
        // static KUrl fromPathOrUrl(const QString&)
        KUrl xret = KUrl::fromPathOrUrl(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new KUrl(xret);
    }
    static void x_70(Smoke::Stack x) {
        // static KUrl fromMimeDataByteArray(const QByteArray&)
        KUrl xret = KUrl::fromMimeDataByteArray(*(const QByteArray*)x[1].s_class);
        x[0].s_class = (void*)new KUrl(xret);
    }
    void x_71(Smoke::Stack x) {
        // void populateMimeData(QMimeData*, const QMap<QString,QString>&, KUrl::MimeDataFlags) const
        ((const x_KUrl*)this)->KUrl::populateMimeData((QMimeData*)x[1].s_class,*(const QMap<QString,QString>*)x[2].s_class,(KUrl::MimeDataFlags)x[3].s_enum);
        (void)x; // noop (for compiler warning)
    }
    static void x_72(Smoke::Stack x) {
        // static QString encode_string(const QString&)
        QString xret = KUrl::encode_string(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_73(Smoke::Stack x) {
        // static QString encode_string_no_slash(const QString&)
        QString xret = KUrl::encode_string_no_slash(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_74(Smoke::Stack x) {
        // static QString decode_string(const QString&)
        QString xret = KUrl::decode_string(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_75(Smoke::Stack x) {
        // static bool isRelativeUrl(const QString&)
        bool xret = KUrl::isRelativeUrl(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_76(Smoke::Stack x) {
        // static QString relativeUrl(const KUrl&, const KUrl&)
        QString xret = KUrl::relativeUrl(*(const KUrl*)x[1].s_class,*(const KUrl*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_77(Smoke::Stack x) {
        // static QString relativePath(const QString&, const QString&, bool*)
        QString xret = KUrl::relativePath(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(bool*)x[3].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_78(Smoke::Stack x) {
        // QString path() const
        QString xret = ((const x_KUrl*)this)->KUrl::path((KUrl::AdjustPathOption)KUrl::LeaveTrailingSlash);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_79(Smoke::Stack x) {
        // QString toLocalFile() const
        QString xret = ((const x_KUrl*)this)->KUrl::toLocalFile((KUrl::AdjustPathOption)KUrl::LeaveTrailingSlash);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_80(Smoke::Stack x) {
        // void cleanPath()
        this->KUrl::cleanPath((const KUrl::CleanPathOption&)KUrl::SimplifyDirSeparators);
        (void)x; // noop (for compiler warning)
    }
    void x_81(Smoke::Stack x) {
        // QString encodedPathAndQuery() const
        QString xret = ((const x_KUrl*)this)->KUrl::encodedPathAndQuery((KUrl::AdjustPathOption)KUrl::LeaveTrailingSlash,(const QFlags<KUrl::EncodedPathAndQueryOption>&)KUrl::PermitEmptyPath);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_82(Smoke::Stack x) {
        // QString encodedPathAndQuery(KUrl::AdjustPathOption) const
        QString xret = ((const x_KUrl*)this)->KUrl::encodedPathAndQuery((KUrl::AdjustPathOption)x[1].s_enum,(const QFlags<KUrl::EncodedPathAndQueryOption>&)KUrl::PermitEmptyPath);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_83(Smoke::Stack x) {
        // QMap<QString,QString> queryItems() const
        QMap<QString,QString> xret = ((const x_KUrl*)this)->KUrl::queryItems((const QFlags<KUrl::QueryItemsOption>&)0);
        x[0].s_class = (void*)new QMap<QString,QString>(xret);
    }
    void x_84(Smoke::Stack x) {
        // QString fileName() const
        QString xret = ((const x_KUrl*)this)->KUrl::fileName((const QFlags<KUrl::DirectoryOption>&)KUrl::IgnoreTrailingSlash);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_85(Smoke::Stack x) {
        // QString directory() const
        QString xret = ((const x_KUrl*)this)->KUrl::directory((const QFlags<KUrl::DirectoryOption>&)KUrl::IgnoreTrailingSlash);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_86(Smoke::Stack x) {
        // QString url() const
        QString xret = ((const x_KUrl*)this)->KUrl::url((KUrl::AdjustPathOption)KUrl::LeaveTrailingSlash);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_87(Smoke::Stack x) {
        // QString prettyUrl() const
        QString xret = ((const x_KUrl*)this)->KUrl::prettyUrl((KUrl::AdjustPathOption)KUrl::LeaveTrailingSlash);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_88(Smoke::Stack x) {
        // bool cmp(const KUrl&) const
        bool xret = ((const x_KUrl*)this)->KUrl::cmp(*(const KUrl*)x[1].s_class,(bool)false);
        x[0].s_bool = xret;
    }
    void x_89(Smoke::Stack x) {
        // bool equals(const KUrl&) const
        bool xret = ((const x_KUrl*)this)->KUrl::equals(*(const KUrl*)x[1].s_class,(const QFlags<KUrl::EqualsOption>&)0);
        x[0].s_bool = xret;
    }
    void x_90(Smoke::Stack x) {
        // void populateMimeData(QMimeData*) const
        ((const x_KUrl*)this)->KUrl::populateMimeData((QMimeData*)x[1].s_class,(const QMap<QString,QString>&)KUrl::MetaDataMap(),(KUrl::MimeDataFlags)KUrl::DefaultMimeDataFlags);
        (void)x; // noop (for compiler warning)
    }
    void x_91(Smoke::Stack x) {
        // void populateMimeData(QMimeData*, const QMap<QString,QString>&) const
        ((const x_KUrl*)this)->KUrl::populateMimeData((QMimeData*)x[1].s_class,*(const QMap<QString,QString>*)x[2].s_class,(KUrl::MimeDataFlags)KUrl::DefaultMimeDataFlags);
        (void)x; // noop (for compiler warning)
    }
    static void x_92(Smoke::Stack x) {
        // static QString relativePath(const QString&, const QString&)
        QString xret = KUrl::relativePath(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(bool*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_93(Smoke::Stack x) {
        x[0].s_enum = (long)KUrl::DefaultMimeDataFlags;
    }
    static void x_94(Smoke::Stack x) {
        x[0].s_enum = (long)KUrl::NoTextExport;
    }
    static void x_95(Smoke::Stack x) {
        x[0].s_enum = (long)KUrl::RemoveTrailingSlash;
    }
    static void x_96(Smoke::Stack x) {
        x[0].s_enum = (long)KUrl::LeaveTrailingSlash;
    }
    static void x_97(Smoke::Stack x) {
        x[0].s_enum = (long)KUrl::AddTrailingSlash;
    }
    static void x_98(Smoke::Stack x) {
        x[0].s_enum = (long)KUrl::SimplifyDirSeparators;
    }
    static void x_99(Smoke::Stack x) {
        x[0].s_enum = (long)KUrl::KeepDirSeparators;
    }
    static void x_100(Smoke::Stack x) {
        x[0].s_enum = (long)KUrl::PermitEmptyPath;
    }
    static void x_101(Smoke::Stack x) {
        x[0].s_enum = (long)KUrl::AvoidEmptyPath;
    }
    static void x_102(Smoke::Stack x) {
        x[0].s_enum = (long)KUrl::CaseInsensitiveKeys;
    }
    static void x_103(Smoke::Stack x) {
        x[0].s_enum = (long)KUrl::ObeyTrailingSlash;
    }
    static void x_104(Smoke::Stack x) {
        x[0].s_enum = (long)KUrl::AppendTrailingSlash;
    }
    static void x_105(Smoke::Stack x) {
        x[0].s_enum = (long)KUrl::IgnoreTrailingSlash;
    }
    static void x_106(Smoke::Stack x) {
        x[0].s_enum = (long)KUrl::CompareWithoutTrailingSlash;
    }
    static void x_107(Smoke::Stack x) {
        x[0].s_enum = (long)KUrl::CompareWithoutFragment;
    }
    static void x_108(Smoke::Stack x) {
        x[0].s_enum = (long)KUrl::AllowEmptyPath;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 249: //KUrl::MimeDataFlags
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KUrl::MimeDataFlags;
                    break;
                case Smoke::EnumDelete:
                    delete (KUrl::MimeDataFlags*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KUrl::MimeDataFlags*)xdata = (KUrl::MimeDataFlags)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KUrl::MimeDataFlags*)xdata;
                    break;
            }
            break;
        case 242: //KUrl::AdjustPathOption
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KUrl::AdjustPathOption;
                    break;
                case Smoke::EnumDelete:
                    delete (KUrl::AdjustPathOption*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KUrl::AdjustPathOption*)xdata = (KUrl::AdjustPathOption)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KUrl::AdjustPathOption*)xdata;
                    break;
            }
            break;
        case 243: //KUrl::CleanPathOption
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KUrl::CleanPathOption;
                    break;
                case Smoke::EnumDelete:
                    delete (KUrl::CleanPathOption*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KUrl::CleanPathOption*)xdata = (KUrl::CleanPathOption)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KUrl::CleanPathOption*)xdata;
                    break;
            }
            break;
        case 245: //KUrl::EncodedPathAndQueryOption
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KUrl::EncodedPathAndQueryOption;
                    break;
                case Smoke::EnumDelete:
                    delete (KUrl::EncodedPathAndQueryOption*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KUrl::EncodedPathAndQueryOption*)xdata = (KUrl::EncodedPathAndQueryOption)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KUrl::EncodedPathAndQueryOption*)xdata;
                    break;
            }
            break;
        case 250: //KUrl::QueryItemsOption
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KUrl::QueryItemsOption;
                    break;
                case Smoke::EnumDelete:
                    delete (KUrl::QueryItemsOption*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KUrl::QueryItemsOption*)xdata = (KUrl::QueryItemsOption)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KUrl::QueryItemsOption*)xdata;
                    break;
            }
            break;
        case 244: //KUrl::DirectoryOption
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KUrl::DirectoryOption;
                    break;
                case Smoke::EnumDelete:
                    delete (KUrl::DirectoryOption*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KUrl::DirectoryOption*)xdata = (KUrl::DirectoryOption)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KUrl::DirectoryOption*)xdata;
                    break;
            }
            break;
        case 246: //KUrl::EqualsOption
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KUrl::EqualsOption;
                    break;
                case Smoke::EnumDelete:
                    delete (KUrl::EqualsOption*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KUrl::EqualsOption*)xdata = (KUrl::EqualsOption)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KUrl::EqualsOption*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_KUrl() { this->_binding->deleted(128, (void*)this); }
};
void xenum_KUrl(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_KUrl::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_KUrl(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KUrl *xself = (x_KUrl*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KUrl::x_1(args);	break;
        case 2: x_KUrl::x_2(args);	break;
        case 3: x_KUrl::x_3(args);	break;
        case 4: x_KUrl::x_4(args);	break;
        case 5: x_KUrl::x_5(args);	break;
        case 6: x_KUrl::x_6(args);	break;
        case 7: x_KUrl::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: 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: 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: x_KUrl::x_65(args);	break;
        case 66: x_KUrl::x_66(args);	break;
        case 67: x_KUrl::x_67(args);	break;
        case 68: x_KUrl::x_68(args);	break;
        case 69: x_KUrl::x_69(args);	break;
        case 70: x_KUrl::x_70(args);	break;
        case 71: xself->x_71(args);	break;
        case 72: x_KUrl::x_72(args);	break;
        case 73: x_KUrl::x_73(args);	break;
        case 74: x_KUrl::x_74(args);	break;
        case 75: x_KUrl::x_75(args);	break;
        case 76: x_KUrl::x_76(args);	break;
        case 77: x_KUrl::x_77(args);	break;
        case 78: xself->x_78(args);	break;
        case 79: xself->x_79(args);	break;
        case 80: xself->x_80(args);	break;
        case 81: xself->x_81(args);	break;
        case 82: xself->x_82(args);	break;
        case 83: xself->x_83(args);	break;
        case 84: xself->x_84(args);	break;
        case 85: xself->x_85(args);	break;
        case 86: xself->x_86(args);	break;
        case 87: xself->x_87(args);	break;
        case 88: xself->x_88(args);	break;
        case 89: xself->x_89(args);	break;
        case 90: xself->x_90(args);	break;
        case 91: xself->x_91(args);	break;
        case 92: x_KUrl::x_92(args);	break;
        case 93: x_KUrl::x_93(args);	break;
        case 94: x_KUrl::x_94(args);	break;
        case 95: x_KUrl::x_95(args);	break;
        case 96: x_KUrl::x_96(args);	break;
        case 97: x_KUrl::x_97(args);	break;
        case 98: x_KUrl::x_98(args);	break;
        case 99: x_KUrl::x_99(args);	break;
        case 100: x_KUrl::x_100(args);	break;
        case 101: x_KUrl::x_101(args);	break;
        case 102: x_KUrl::x_102(args);	break;
        case 103: x_KUrl::x_103(args);	break;
        case 104: x_KUrl::x_104(args);	break;
        case 105: x_KUrl::x_105(args);	break;
        case 106: x_KUrl::x_106(args);	break;
        case 107: x_KUrl::x_107(args);	break;
        case 108: x_KUrl::x_108(args);	break;
        case 109: delete (KUrl*)xself;	break;
    }
}
class x_KUser : public KUser {
    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) {
        // KUser* KUser(KUser::UIDMode)
        x_KUser* xret = new x_KUser((KUser::UIDMode)x[1].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_KUser(KUser::UIDMode x1) : KUser(x1) {}
    static void x_2(Smoke::Stack x) {
        // KUser* KUser(uid_t)
        x_KUser* xret = new x_KUser(*(uid_t*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KUser(uid_t x1) : KUser(x1) {}
    static void x_3(Smoke::Stack x) {
        // KUser* KUser(const QString&)
        x_KUser* xret = new x_KUser(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KUser(const QString& x1) : KUser(x1) {}
    static void x_4(Smoke::Stack x) {
        // KUser* KUser(const char*)
        x_KUser* xret = new x_KUser((const char*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KUser(const char* x1) : KUser(x1) {}
    static void x_5(Smoke::Stack x) {
        // KUser* KUser(const passwd*)
        x_KUser* xret = new x_KUser((const passwd*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KUser(const passwd* x1) : KUser(x1) {}
    static void x_6(Smoke::Stack x) {
        // KUser* KUser(const KUser&)
        x_KUser* xret = new x_KUser(*(const KUser*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KUser(const KUser& x1) : KUser(x1) {}
    void x_7(Smoke::Stack x) {
        // KUser& operator=(const KUser&)
        KUser& xret = this->KUser::operator=(*(const KUser*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_8(Smoke::Stack x) {
        // bool operator==(const KUser&) const
        bool xret = ((const x_KUser*)this)->KUser::operator==(*(const KUser*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_9(Smoke::Stack x) {
        // bool operator!=(const KUser&) const
        bool xret = ((const x_KUser*)this)->KUser::operator!=(*(const KUser*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_KUser*)this)->KUser::isValid();
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // uid_t uid() const
        uid_t xret = ((const x_KUser*)this)->KUser::uid();
        x[0].s_class = (void*)new uid_t(xret);
    }
    void x_12(Smoke::Stack x) {
        // gid_t gid() const
        gid_t xret = ((const x_KUser*)this)->KUser::gid();
        x[0].s_class = (void*)new gid_t(xret);
    }
    void x_13(Smoke::Stack x) {
        // bool isSuperUser() const
        bool xret = ((const x_KUser*)this)->KUser::isSuperUser();
        x[0].s_bool = xret;
    }
    void x_14(Smoke::Stack x) {
        // QString loginName() const
        QString xret = ((const x_KUser*)this)->KUser::loginName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_15(Smoke::Stack x) {
        // QString fullName() const
        QString xret = ((const x_KUser*)this)->KUser::fullName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_16(Smoke::Stack x) {
        // QString homeDir() const
        QString xret = ((const x_KUser*)this)->KUser::homeDir();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_17(Smoke::Stack x) {
        // QString faceIconPath() const
        QString xret = ((const x_KUser*)this)->KUser::faceIconPath();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_18(Smoke::Stack x) {
        // QString shell() const
        QString xret = ((const x_KUser*)this)->KUser::shell();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_19(Smoke::Stack x) {
        // QList<KUserGroup> groups() const
        QList<KUserGroup> xret = ((const x_KUser*)this)->KUser::groups();
        x[0].s_class = (void*)new QList<KUserGroup>(xret);
    }
    void x_20(Smoke::Stack x) {
        // QStringList groupNames() const
        QStringList xret = ((const x_KUser*)this)->KUser::groupNames();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_21(Smoke::Stack x) {
        // QVariant property(KUser::UserProperty) const
        QVariant xret = ((const x_KUser*)this)->KUser::property((KUser::UserProperty)x[1].s_enum);
        x[0].s_class = (void*)new QVariant(xret);
    }
    static void x_22(Smoke::Stack x) {
        // static QList<KUser> allUsers()
        QList<KUser> xret = KUser::allUsers();
        x[0].s_class = (void*)new QList<KUser>(xret);
    }
    static void x_23(Smoke::Stack x) {
        // static QStringList allUserNames()
        QStringList xret = KUser::allUserNames();
        x[0].s_class = (void*)new QStringList(xret);
    }
    static void x_24(Smoke::Stack x) {
        // KUser* KUser()
        x_KUser* xret = new x_KUser((KUser::UIDMode)KUser::UseEffectiveUID);
        x[0].s_class = (void*)xret;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)KUser::UseEffectiveUID;
    }
    static void x_26(Smoke::Stack x) {
        x[0].s_enum = (long)KUser::UseRealUserID;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)KUser::FullName;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)KUser::RoomNumber;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)KUser::WorkPhone;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)KUser::HomePhone;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 254: //KUser::UIDMode
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KUser::UIDMode;
                    break;
                case Smoke::EnumDelete:
                    delete (KUser::UIDMode*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KUser::UIDMode*)xdata = (KUser::UIDMode)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KUser::UIDMode*)xdata;
                    break;
            }
            break;
        case 255: //KUser::UserProperty
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KUser::UserProperty;
                    break;
                case Smoke::EnumDelete:
                    delete (KUser::UserProperty*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KUser::UserProperty*)xdata = (KUser::UserProperty)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KUser::UserProperty*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_KUser() { this->_binding->deleted(129, (void*)this); }
};
void xenum_KUser(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_KUser::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_KUser(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KUser *xself = (x_KUser*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KUser::x_1(args);	break;
        case 2: x_KUser::x_2(args);	break;
        case 3: x_KUser::x_3(args);	break;
        case 4: x_KUser::x_4(args);	break;
        case 5: x_KUser::x_5(args);	break;
        case 6: x_KUser::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: x_KUser::x_22(args);	break;
        case 23: x_KUser::x_23(args);	break;
        case 24: x_KUser::x_24(args);	break;
        case 25: x_KUser::x_25(args);	break;
        case 26: x_KUser::x_26(args);	break;
        case 27: x_KUser::x_27(args);	break;
        case 28: x_KUser::x_28(args);	break;
        case 29: x_KUser::x_29(args);	break;
        case 30: x_KUser::x_30(args);	break;
        case 31: delete (KUser*)xself;	break;
    }
}
class x_KUserGroup : public KUserGroup {
    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) {
        // KUserGroup* KUserGroup(const QString&)
        x_KUserGroup* xret = new x_KUserGroup(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KUserGroup(const QString& x1) : KUserGroup(x1) {}
    static void x_2(Smoke::Stack x) {
        // KUserGroup* KUserGroup(const char*)
        x_KUserGroup* xret = new x_KUserGroup((const char*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KUserGroup(const char* x1) : KUserGroup(x1) {}
    static void x_3(Smoke::Stack x) {
        // KUserGroup* KUserGroup(KUser::UIDMode)
        x_KUserGroup* xret = new x_KUserGroup((KUser::UIDMode)x[1].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_KUserGroup(KUser::UIDMode x1) : KUserGroup(x1) {}
    static void x_4(Smoke::Stack x) {
        // KUserGroup* KUserGroup(gid_t)
        x_KUserGroup* xret = new x_KUserGroup(*(gid_t*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KUserGroup(gid_t x1) : KUserGroup(x1) {}
    static void x_5(Smoke::Stack x) {
        // KUserGroup* KUserGroup(const group*)
        x_KUserGroup* xret = new x_KUserGroup((const group*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KUserGroup(const group* x1) : KUserGroup(x1) {}
    static void x_6(Smoke::Stack x) {
        // KUserGroup* KUserGroup(const KUserGroup&)
        x_KUserGroup* xret = new x_KUserGroup(*(const KUserGroup*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KUserGroup(const KUserGroup& x1) : KUserGroup(x1) {}
    void x_7(Smoke::Stack x) {
        // KUserGroup& operator=(const KUserGroup&)
        KUserGroup& xret = this->KUserGroup::operator=(*(const KUserGroup*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_8(Smoke::Stack x) {
        // bool operator==(const KUserGroup&) const
        bool xret = ((const x_KUserGroup*)this)->KUserGroup::operator==(*(const KUserGroup*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_9(Smoke::Stack x) {
        // bool operator!=(const KUserGroup&) const
        bool xret = ((const x_KUserGroup*)this)->KUserGroup::operator!=(*(const KUserGroup*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_KUserGroup*)this)->KUserGroup::isValid();
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // gid_t gid() const
        gid_t xret = ((const x_KUserGroup*)this)->KUserGroup::gid();
        x[0].s_class = (void*)new gid_t(xret);
    }
    void x_12(Smoke::Stack x) {
        // QString name() const
        QString xret = ((const x_KUserGroup*)this)->KUserGroup::name();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_13(Smoke::Stack x) {
        // QList<KUser> users() const
        QList<KUser> xret = ((const x_KUserGroup*)this)->KUserGroup::users();
        x[0].s_class = (void*)new QList<KUser>(xret);
    }
    void x_14(Smoke::Stack x) {
        // QStringList userNames() const
        QStringList xret = ((const x_KUserGroup*)this)->KUserGroup::userNames();
        x[0].s_class = (void*)new QStringList(xret);
    }
    static void x_15(Smoke::Stack x) {
        // static QList<KUserGroup> allGroups()
        QList<KUserGroup> xret = KUserGroup::allGroups();
        x[0].s_class = (void*)new QList<KUserGroup>(xret);
    }
    static void x_16(Smoke::Stack x) {
        // static QStringList allGroupNames()
        QStringList xret = KUserGroup::allGroupNames();
        x[0].s_class = (void*)new QStringList(xret);
    }
    static void x_17(Smoke::Stack x) {
        // KUserGroup* KUserGroup()
        x_KUserGroup* xret = new x_KUserGroup((KUser::UIDMode)KUser::UseEffectiveUID);
        x[0].s_class = (void*)xret;
    }
    ~x_KUserGroup() { this->_binding->deleted(130, (void*)this); }
};
void xcall_KUserGroup(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KUserGroup *xself = (x_KUserGroup*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KUserGroup::x_1(args);	break;
        case 2: x_KUserGroup::x_2(args);	break;
        case 3: x_KUserGroup::x_3(args);	break;
        case 4: x_KUserGroup::x_4(args);	break;
        case 5: x_KUserGroup::x_5(args);	break;
        case 6: x_KUserGroup::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: x_KUserGroup::x_15(args);	break;
        case 16: x_KUserGroup::x_16(args);	break;
        case 17: x_KUserGroup::x_17(args);	break;
        case 18: delete (KUserGroup*)xself;	break;
    }
}
class x_KWordMacroExpander : public KWordMacroExpander, 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) {
        // KWordMacroExpander* KWordMacroExpander(QChar)
        x_KWordMacroExpander* xret = new x_KWordMacroExpander(*(QChar*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KWordMacroExpander(QChar x1) : KWordMacroExpander(x1) {}
    void x_2(Smoke::Stack x) {
        // virtual int expandPlainMacro(const QString&, int, QStringList&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KWordMacroExpander*>(this))) {
            int xret = this->KWordMacroExpander::expandPlainMacro(*(const QString*)x[1].s_class,(int)x[2].s_int,*(QStringList*)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = this->expandPlainMacro(*(const QString*)x[1].s_class,(int)x[2].s_int,*(QStringList*)x[3].s_class);
            x[0].s_int = xret;
        }
    }
    void x_3(Smoke::Stack x) {
        // virtual int expandEscapedMacro(const QString&, int, QStringList&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KWordMacroExpander*>(this))) {
            int xret = this->KWordMacroExpander::expandEscapedMacro(*(const QString*)x[1].s_class,(int)x[2].s_int,*(QStringList*)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = this->expandEscapedMacro(*(const QString*)x[1].s_class,(int)x[2].s_int,*(QStringList*)x[3].s_class);
            x[0].s_int = xret;
        }
    }
    void x_4(Smoke::Stack x) {
        // virtual bool expandMacro(const QString&, QStringList&) = 0
        bool xret = this->expandMacro(*(const QString*)x[1].s_class,*(QStringList*)x[2].s_class);
        x[0].s_bool = xret;
    }
    static void x_5(Smoke::Stack x) {
        // KWordMacroExpander* KWordMacroExpander(const KWordMacroExpander&)
        x_KWordMacroExpander* xret = new x_KWordMacroExpander(*(const KWordMacroExpander*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KWordMacroExpander(const KWordMacroExpander& x1) : KWordMacroExpander(x1) {}
    static void x_6(Smoke::Stack x) {
        // KWordMacroExpander* KWordMacroExpander()
        x_KWordMacroExpander* xret = new x_KWordMacroExpander((QChar)QLatin1Char('%'));
        x[0].s_class = (void*)xret;
    }
    virtual int expandPlainMacro(const QString& x1, int x2, QStringList& x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(3259, (void*)this, x)) return (int)x[0].s_int;
        return this->KWordMacroExpander::expandPlainMacro(x1, x2, x3);
    }
    virtual int expandEscapedMacro(const QString& x1, int x2, QStringList& x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(3260, (void*)this, x)) return (int)x[0].s_int;
        return this->KWordMacroExpander::expandEscapedMacro(x1, x2, x3);
    }
    virtual bool expandMacro(const QString& x1, QStringList& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        this->_binding->callMethod(3261, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    ~x_KWordMacroExpander() { this->_binding->deleted(131, (void*)this); }
};
void xcall_KWordMacroExpander(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KWordMacroExpander *xself = (x_KWordMacroExpander*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KWordMacroExpander::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: x_KWordMacroExpander::x_5(args);	break;
        case 6: x_KWordMacroExpander::x_6(args);	break;
        case 7: delete (KWordMacroExpander*)xself;	break;
    }
}

}
