//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_KSycoca : public KSycoca, 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<KSycoca*>(this))) {
            const QMetaObject* xret = ((const x_KSycoca*)this)->KSycoca::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_KSycoca*)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<KSycoca*>(this))) {
            void* xret = this->KSycoca::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 = KSycoca::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 = KSycoca::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 = KSycoca::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 = KSycoca::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<KSycoca*>(this))) {
            int xret = this->KSycoca::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) {
        // KSycoca* KSycoca(bool)
        x_KSycoca* xret = new x_KSycoca((bool)x[1].s_bool);
        x[0].s_class = (void*)xret;
    }
    explicit x_KSycoca(bool x1) : KSycoca(x1) {}
    static void x_9(Smoke::Stack x) {
        // static int version()
        int xret = KSycoca::version();
        x[0].s_int = xret;
    }
    static void x_10(Smoke::Stack x) {
        // static bool isAvailable()
        bool xret = KSycoca::isAvailable();
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // QDataStream* findEntry(int, KSycocaType&)
        QDataStream* xret = this->KSycoca::findEntry((int)x[1].s_int,*(KSycocaType*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    void x_12(Smoke::Stack x) {
        // QDataStream* findFactory(KSycocaFactoryId)
        QDataStream* xret = this->KSycoca::findFactory((KSycocaFactoryId)x[1].s_enum);
        x[0].s_class = (void*)xret;
    }
    void x_13(Smoke::Stack x) {
        // QString kfsstnd_prefixes()
        QString xret = this->KSycoca::kfsstnd_prefixes();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // static QString absoluteFilePath(DatabaseType)
        QString xret = KSycoca::absoluteFilePath(*(DatabaseType*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_15(Smoke::Stack x) {
        // QString language()
        QString xret = this->KSycoca::language();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_16(Smoke::Stack x) {
        // unsigned int timeStamp()
        unsigned int xret = this->KSycoca::timeStamp();
        x[0].s_uint = xret;
    }
    void x_17(Smoke::Stack x) {
        // unsigned int updateSignature()
        unsigned int xret = this->KSycoca::updateSignature();
        x[0].s_uint = xret;
    }
    void x_18(Smoke::Stack x) {
        // QStringList allResourceDirs()
        QStringList xret = this->KSycoca::allResourceDirs();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_19(Smoke::Stack x) {
        // void addFactory(KSycocaFactory*)
        this->KSycoca::addFactory((KSycocaFactory*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // virtual bool isBuilding()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KSycoca*>(this))) {
            bool xret = this->KSycoca::isBuilding();
            x[0].s_bool = xret;
        } else {
            bool xret = this->isBuilding();
            x[0].s_bool = xret;
        }
    }
    static void x_21(Smoke::Stack x) {
        // static void disableAutoRebuild()
        KSycoca::disableAutoRebuild();
        (void)x; // noop (for compiler warning)
    }
    static void x_22(Smoke::Stack x) {
        // static bool isChanged(const char*)
        bool xret = KSycoca::isChanged((const char*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_23(Smoke::Stack x) {
        // static void flagError()
        KSycoca::flagError();
        (void)x; // noop (for compiler warning)
    }
    static void x_24(Smoke::Stack x) {
        // static bool readError()
        bool xret = KSycoca::readError();
        x[0].s_bool = xret;
    }
    void x_25(Smoke::Stack x) {
        // void databaseChanged()
        this->KSycoca::databaseChanged();
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // void databaseChanged(const QStringList&)
        this->KSycoca::databaseChanged(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // KSycocaFactoryList* factories()
        KSycocaFactoryList* xret = this->KSycoca::factories();
        x[0].s_class = (void*)xret;
    }
    void x_28(Smoke::Stack x) {
        // QDataStream*& stream()
        QDataStream*& xret = this->KSycoca::stream();
        x[0].s_class = (void*)xret;
    }
    static void x_29(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = KSycoca::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_30(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = KSycoca::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_31(Smoke::Stack x) {
        // static QString absoluteFilePath()
        QString xret = KSycoca::absoluteFilePath((DatabaseType)KSycoca::LocalDatabase);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_32(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&KSycoca::staticMetaObject;
    }
    void x_33(Smoke::Stack x) {
        // QDataStream* m_str_deprecated
        x[0].s_class = (void*)this->KSycoca::m_str_deprecated;
    }
    void x_34(Smoke::Stack x) {
        // QDataStream* m_str_deprecated=
        this->KSycoca::m_str_deprecated = (QDataStream*)x[1].s_class;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)KSycoca::LocalDatabase;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)KSycoca::GlobalDatabase;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2733, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->KSycoca::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2734, (void*)this, x)) return (void*)x[0].s_class;
        return this->KSycoca::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(2739, (void*)this, x)) return (int)x[0].s_int;
        return this->KSycoca::qt_metacall(x1, x2, x3);
    }
    virtual bool isBuilding() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2752, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KSycoca::isBuilding();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3501, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(3502, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3503, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3504, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3505, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3506, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3507, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 203: //KSycoca::DatabaseType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KSycoca::DatabaseType;
                    break;
                case Smoke::EnumDelete:
                    delete (KSycoca::DatabaseType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KSycoca::DatabaseType*)xdata = (KSycoca::DatabaseType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KSycoca::DatabaseType*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_KSycoca() { this->_binding->deleted(105, (void*)this); }
};
void xenum_KSycoca(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_KSycoca::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_KSycoca(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KSycoca *xself = (x_KSycoca*)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_KSycoca::x_3(args);	break;
        case 4: x_KSycoca::x_4(args);	break;
        case 5: x_KSycoca::x_5(args);	break;
        case 6: x_KSycoca::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_KSycoca::x_8(args);	break;
        case 9: x_KSycoca::x_9(args);	break;
        case 10: x_KSycoca::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: x_KSycoca::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: x_KSycoca::x_21(args);	break;
        case 22: x_KSycoca::x_22(args);	break;
        case 23: x_KSycoca::x_23(args);	break;
        case 24: x_KSycoca::x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: x_KSycoca::x_29(args);	break;
        case 30: x_KSycoca::x_30(args);	break;
        case 31: x_KSycoca::x_31(args);	break;
        case 32: x_KSycoca::x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: x_KSycoca::x_35(args);	break;
        case 36: x_KSycoca::x_36(args);	break;
        case 37: delete (KSycoca*)xself;	break;
    }
}
class x_KSycocaEntry : public KSycocaEntry, 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) {
        // KSycocaEntry* KSycocaEntry()
        x_KSycocaEntry* xret = new x_KSycocaEntry();
        x[0].s_class = (void*)xret;
    }
    explicit x_KSycocaEntry() : KSycocaEntry() {}
    void x_2(Smoke::Stack x) {
        // bool isType(KSycocaType) const
        bool xret = ((const x_KSycocaEntry*)this)->KSycocaEntry::isType((KSycocaType)x[1].s_enum);
        x[0].s_bool = xret;
    }
    void x_3(Smoke::Stack x) {
        // KSycocaType sycocaType() const
        KSycocaType xret = ((const x_KSycocaEntry*)this)->KSycocaEntry::sycocaType();
        x[0].s_enum = xret;
    }
    static void x_4(Smoke::Stack x) {
        // static void read(QDataStream&, QString&)
        KSycocaEntry::read(*(QDataStream*)x[1].s_class,*(QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_5(Smoke::Stack x) {
        // static void read(QDataStream&, QStringList&)
        KSycocaEntry::read(*(QDataStream*)x[1].s_class,*(QStringList*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_6(Smoke::Stack x) {
        // QString name() const
        QString xret = ((const x_KSycocaEntry*)this)->KSycocaEntry::name();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // QString entryPath() const
        QString xret = ((const x_KSycocaEntry*)this)->KSycocaEntry::entryPath();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_8(Smoke::Stack x) {
        // QString storageId() const
        QString xret = ((const x_KSycocaEntry*)this)->KSycocaEntry::storageId();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_9(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_KSycocaEntry*)this)->KSycocaEntry::isValid();
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // bool isDeleted() const
        bool xret = ((const x_KSycocaEntry*)this)->KSycocaEntry::isDeleted();
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // QVariant property(const QString&) const
        QVariant xret = ((const x_KSycocaEntry*)this)->KSycocaEntry::property(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_12(Smoke::Stack x) {
        // QStringList propertyNames() const
        QStringList xret = ((const x_KSycocaEntry*)this)->KSycocaEntry::propertyNames();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_13(Smoke::Stack x) {
        // void setDeleted(bool)
        this->KSycocaEntry::setDeleted((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // bool isSeparator() const
        bool xret = ((const x_KSycocaEntry*)this)->KSycocaEntry::isSeparator();
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // int offset() const
        int xret = ((const x_KSycocaEntry*)this)->KSycocaEntry::offset();
        x[0].s_int = xret;
    }
    void x_16(Smoke::Stack x) {
        // void save(QDataStream&)
        this->KSycocaEntry::save(*(QDataStream*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_17(Smoke::Stack x) {
        // KSycocaEntry* KSycocaEntry(KSycocaEntryPrivate&)
        x_KSycocaEntry* xret = new x_KSycocaEntry(*(KSycocaEntryPrivate*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KSycocaEntry(KSycocaEntryPrivate& x1) : KSycocaEntry(x1) {}
    ~x_KSycocaEntry() { this->_binding->deleted(106, (void*)this); }
};
void xcall_KSycocaEntry(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KSycocaEntry *xself = (x_KSycocaEntry*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KSycocaEntry::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: x_KSycocaEntry::x_4(args);	break;
        case 5: x_KSycocaEntry::x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: x_KSycocaEntry::x_17(args);	break;
        case 18: delete (KSycocaEntry*)xself;	break;
    }
}
class x_KSystemTimeZone : public KSystemTimeZone, 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) {
        // KSystemTimeZone* KSystemTimeZone(KSystemTimeZoneSource*, const QString&, const QString&, float, float, const QString&)
        x_KSystemTimeZone* xret = new x_KSystemTimeZone((KSystemTimeZoneSource*)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_KSystemTimeZone(KSystemTimeZoneSource* x1, const QString& x2, const QString& x3, float x4, float x5, const QString& x6) : KSystemTimeZone(x1, x2, x3, x4, x5, x6) {}
    static void x_2(Smoke::Stack x) {
        // KSystemTimeZone* KSystemTimeZone(const KSystemTimeZone&)
        x_KSystemTimeZone* xret = new x_KSystemTimeZone(*(const KSystemTimeZone*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KSystemTimeZone(const KSystemTimeZone& x1) : KSystemTimeZone(x1) {}
    static void x_3(Smoke::Stack x) {
        // KSystemTimeZone* KSystemTimeZone(KSystemTimeZoneSource*, const QString&)
        x_KSystemTimeZone* xret = new x_KSystemTimeZone((KSystemTimeZoneSource*)x[1].s_class,*(const QString*)x[2].s_class,(const QString&)QString(),(float)UNKNOWN,(float)UNKNOWN,(const QString&)QString());
        x[0].s_class = (void*)xret;
    }
    static void x_4(Smoke::Stack x) {
        // KSystemTimeZone* KSystemTimeZone(KSystemTimeZoneSource*, const QString&, const QString&)
        x_KSystemTimeZone* xret = new x_KSystemTimeZone((KSystemTimeZoneSource*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(float)UNKNOWN,(float)UNKNOWN,(const QString&)QString());
        x[0].s_class = (void*)xret;
    }
    static void x_5(Smoke::Stack x) {
        // KSystemTimeZone* KSystemTimeZone(KSystemTimeZoneSource*, const QString&, const QString&, float)
        x_KSystemTimeZone* xret = new x_KSystemTimeZone((KSystemTimeZoneSource*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(float)x[4].s_float,(float)UNKNOWN,(const QString&)QString());
        x[0].s_class = (void*)xret;
    }
    static void x_6(Smoke::Stack x) {
        // KSystemTimeZone* KSystemTimeZone(KSystemTimeZoneSource*, const QString&, const QString&, float, float)
        x_KSystemTimeZone* xret = new x_KSystemTimeZone((KSystemTimeZoneSource*)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&)QString());
        x[0].s_class = (void*)xret;
    }
    virtual int offsetAtZoneTime(const QDateTime& x1, int* x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(2869, (void*)this, x)) return (int)x[0].s_int;
        return this->KTimeZone::offsetAtZoneTime(x1, x2);
    }
    virtual int offsetAtUtc(const QDateTime& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2870, (void*)this, x)) return (int)x[0].s_int;
        return this->KTimeZone::offsetAtUtc(x1);
    }
    virtual int offset(time_t x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)new time_t(x1);
        if (this->_binding->callMethod(2871, (void*)this, x)) return (int)x[0].s_int;
        return this->KTimeZone::offset(x1);
    }
    virtual bool isDstAtUtc(const QDateTime& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2872, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTimeZone::isDstAtUtc(x1);
    }
    virtual bool isDst(time_t x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)new time_t(x1);
        if (this->_binding->callMethod(2873, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTimeZone::isDst(x1);
    }
    virtual bool hasTransitions() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2875, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTimeZone::hasTransitions();
    }
    ~x_KSystemTimeZone() { this->_binding->deleted(110, (void*)this); }
};
void xcall_KSystemTimeZone(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KSystemTimeZone *xself = (x_KSystemTimeZone*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KSystemTimeZone::x_1(args);	break;
        case 2: x_KSystemTimeZone::x_2(args);	break;
        case 3: x_KSystemTimeZone::x_3(args);	break;
        case 4: x_KSystemTimeZone::x_4(args);	break;
        case 5: x_KSystemTimeZone::x_5(args);	break;
        case 6: x_KSystemTimeZone::x_6(args);	break;
        case 7: delete (KSystemTimeZone*)xself;	break;
    }
}
class x_KSystemTimeZoneBackend : public KSystemTimeZoneBackend, 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) {
        // KSystemTimeZoneBackend* KSystemTimeZoneBackend(KSystemTimeZoneSource*, const QString&, const QString&, float, float, const QString&)
        x_KSystemTimeZoneBackend* xret = new x_KSystemTimeZoneBackend((KSystemTimeZoneSource*)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_KSystemTimeZoneBackend(KSystemTimeZoneSource* x1, const QString& x2, const QString& x3, float x4, float x5, const QString& x6) : KSystemTimeZoneBackend(x1, x2, x3, x4, x5, x6) {}
    void x_2(Smoke::Stack x) {
        // virtual KTimeZoneBackend* clone() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KSystemTimeZoneBackend*>(this))) {
            KTimeZoneBackend* xret = ((const x_KSystemTimeZoneBackend*)this)->KSystemTimeZoneBackend::clone();
            x[0].s_class = (void*)xret;
        } else {
            KTimeZoneBackend* xret = ((const x_KSystemTimeZoneBackend*)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<KSystemTimeZoneBackend*>(this))) {
            QByteArray xret = ((const x_KSystemTimeZoneBackend*)this)->KSystemTimeZoneBackend::type();
            x[0].s_class = (void*)new QByteArray(xret);
        } else {
            QByteArray xret = ((const x_KSystemTimeZoneBackend*)this)->type();
            x[0].s_class = (void*)new QByteArray(xret);
        }
    }
    void x_4(Smoke::Stack x) {
        // virtual int offsetAtZoneTime(const KTimeZone*, const QDateTime&, int*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KSystemTimeZoneBackend*>(this))) {
            int xret = ((const x_KSystemTimeZoneBackend*)this)->KSystemTimeZoneBackend::offsetAtZoneTime((const KTimeZone*)x[1].s_class,*(const QDateTime*)x[2].s_class,(int*)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_KSystemTimeZoneBackend*)this)->offsetAtZoneTime((const KTimeZone*)x[1].s_class,*(const QDateTime*)x[2].s_class,(int*)x[3].s_class);
            x[0].s_int = xret;
        }
    }
    void x_5(Smoke::Stack x) {
        // virtual int offsetAtUtc(const KTimeZone*, const QDateTime&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KSystemTimeZoneBackend*>(this))) {
            int xret = ((const x_KSystemTimeZoneBackend*)this)->KSystemTimeZoneBackend::offsetAtUtc((const KTimeZone*)x[1].s_class,*(const QDateTime*)x[2].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_KSystemTimeZoneBackend*)this)->offsetAtUtc((const KTimeZone*)x[1].s_class,*(const QDateTime*)x[2].s_class);
            x[0].s_int = xret;
        }
    }
    void x_6(Smoke::Stack x) {
        // virtual int offset(const KTimeZone*, time_t) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KSystemTimeZoneBackend*>(this))) {
            int xret = ((const x_KSystemTimeZoneBackend*)this)->KSystemTimeZoneBackend::offset((const KTimeZone*)x[1].s_class,*(time_t*)x[2].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_KSystemTimeZoneBackend*)this)->offset((const KTimeZone*)x[1].s_class,*(time_t*)x[2].s_class);
            x[0].s_int = xret;
        }
    }
    void x_7(Smoke::Stack x) {
        // virtual bool isDstAtUtc(const KTimeZone*, const QDateTime&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KSystemTimeZoneBackend*>(this))) {
            bool xret = ((const x_KSystemTimeZoneBackend*)this)->KSystemTimeZoneBackend::isDstAtUtc((const KTimeZone*)x[1].s_class,*(const QDateTime*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_KSystemTimeZoneBackend*)this)->isDstAtUtc((const KTimeZone*)x[1].s_class,*(const QDateTime*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_8(Smoke::Stack x) {
        // virtual bool isDst(const KTimeZone*, time_t) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KSystemTimeZoneBackend*>(this))) {
            bool xret = ((const x_KSystemTimeZoneBackend*)this)->KSystemTimeZoneBackend::isDst((const KTimeZone*)x[1].s_class,*(time_t*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_KSystemTimeZoneBackend*)this)->isDst((const KTimeZone*)x[1].s_class,*(time_t*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_9(Smoke::Stack x) {
        // KSystemTimeZoneBackend* KSystemTimeZoneBackend(const KSystemTimeZoneBackend&)
        x_KSystemTimeZoneBackend* xret = new x_KSystemTimeZoneBackend(*(const KSystemTimeZoneBackend*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KSystemTimeZoneBackend(const KSystemTimeZoneBackend& x1) : KSystemTimeZoneBackend(x1) {}
    virtual KTimeZoneBackend* clone() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2796, (void*)this, x)) return (KTimeZoneBackend*)x[0].s_class;
        return this->KSystemTimeZoneBackend::clone();
    }
    virtual QByteArray type() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2797, (void*)this, x)) {
            QByteArray* xptr = (QByteArray*)x[0].s_class;
            QByteArray xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KSystemTimeZoneBackend::type();
    }
    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(2798, (void*)this, x)) return (int)x[0].s_int;
        return this->KSystemTimeZoneBackend::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(2799, (void*)this, x)) return (int)x[0].s_int;
        return this->KSystemTimeZoneBackend::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(2800, (void*)this, x)) return (int)x[0].s_int;
        return this->KSystemTimeZoneBackend::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(2801, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KSystemTimeZoneBackend::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(2802, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KSystemTimeZoneBackend::isDst(x1, x2);
    }
    virtual bool hasTransitions(const KTimeZone* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2951, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KTimeZoneBackend::hasTransitions(x1);
    }
    ~x_KSystemTimeZoneBackend() { this->_binding->deleted(111, (void*)this); }
};
void xcall_KSystemTimeZoneBackend(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KSystemTimeZoneBackend *xself = (x_KSystemTimeZoneBackend*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KSystemTimeZoneBackend::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_KSystemTimeZoneBackend::x_9(args);	break;
        case 10: delete (KSystemTimeZoneBackend*)xself;	break;
    }
}
class x_KSystemTimeZoneSource : public KSystemTimeZoneSource, 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) {
        // KSystemTimeZoneSource* KSystemTimeZoneSource()
        x_KSystemTimeZoneSource* xret = new x_KSystemTimeZoneSource();
        x[0].s_class = (void*)xret;
    }
    explicit x_KSystemTimeZoneSource() : KSystemTimeZoneSource() {}
    void x_2(Smoke::Stack x) {
        // virtual KTimeZoneData* parse(const KTimeZone&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KSystemTimeZoneSource*>(this))) {
            KTimeZoneData* xret = ((const x_KSystemTimeZoneSource*)this)->KSystemTimeZoneSource::parse(*(const KTimeZone*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            KTimeZoneData* xret = ((const x_KSystemTimeZoneSource*)this)->parse(*(const KTimeZone*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    static void x_3(Smoke::Stack x) {
        // static void startParseBlock()
        KSystemTimeZoneSource::startParseBlock();
        (void)x; // noop (for compiler warning)
    }
    static void x_4(Smoke::Stack x) {
        // static void endParseBlock()
        KSystemTimeZoneSource::endParseBlock();
        (void)x; // noop (for compiler warning)
    }
    static void x_5(Smoke::Stack x) {
        // KSystemTimeZoneSource* KSystemTimeZoneSource(const KSystemTimeZoneSource&)
        x_KSystemTimeZoneSource* xret = new x_KSystemTimeZoneSource(*(const KSystemTimeZoneSource*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KSystemTimeZoneSource(const KSystemTimeZoneSource& x1) : KSystemTimeZoneSource(x1) {}
    virtual KTimeZoneData* parse(const KTimeZone& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2806, (void*)this, x)) return (KTimeZoneData*)x[0].s_class;
        return this->KSystemTimeZoneSource::parse(x1);
    }
    ~x_KSystemTimeZoneSource() { this->_binding->deleted(112, (void*)this); }
};
void xcall_KSystemTimeZoneSource(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KSystemTimeZoneSource *xself = (x_KSystemTimeZoneSource*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KSystemTimeZoneSource::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_KSystemTimeZoneSource::x_3(args);	break;
        case 4: x_KSystemTimeZoneSource::x_4(args);	break;
        case 5: x_KSystemTimeZoneSource::x_5(args);	break;
        case 6: delete (KSystemTimeZoneSource*)xself;	break;
    }
}
class x_KSystemTimeZones : public KSystemTimeZones, public __internal_SmokeClass {
public:
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        const QMetaObject* xret = ((const x_KSystemTimeZones*)this)->KSystemTimeZones::metaObject();
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        void* xret = this->KSystemTimeZones::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 = KSystemTimeZones::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 = KSystemTimeZones::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 = KSystemTimeZones::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 = KSystemTimeZones::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**)
        int xret = this->KSystemTimeZones::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) {
        // static KTimeZones* timeZones()
        KTimeZones* xret = KSystemTimeZones::timeZones();
        x[0].s_class = (void*)xret;
    }
    static void x_9(Smoke::Stack x) {
        // static const QMap<QString,KTimeZone> zones()
        const QMap<QString,KTimeZone> xret = KSystemTimeZones::zones();
        x[0].s_class = (void*)new const QMap<QString,KTimeZone>(xret);
    }
    static void x_10(Smoke::Stack x) {
        // static KTimeZone zone(const QString&)
        KTimeZone xret = KSystemTimeZones::zone(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new KTimeZone(xret);
    }
    static void x_11(Smoke::Stack x) {
        // static KTimeZone readZone(const QString&)
        KTimeZone xret = KSystemTimeZones::readZone(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new KTimeZone(xret);
    }
    static void x_12(Smoke::Stack x) {
        // static KTimeZone local()
        KTimeZone xret = KSystemTimeZones::local();
        x[0].s_class = (void*)new KTimeZone(xret);
    }
    static void x_13(Smoke::Stack x) {
        // static KTimeZone realLocalZone()
        KTimeZone xret = KSystemTimeZones::realLocalZone();
        x[0].s_class = (void*)new KTimeZone(xret);
    }
    static void x_14(Smoke::Stack x) {
        // static void setLocalZone(const KTimeZone&)
        KSystemTimeZones::setLocalZone(*(const KTimeZone*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_15(Smoke::Stack x) {
        // static bool isSimulated()
        bool xret = KSystemTimeZones::isSimulated();
        x[0].s_bool = xret;
    }
    static void x_16(Smoke::Stack x) {
        // static QString zoneinfoDir()
        QString xret = KSystemTimeZones::zoneinfoDir();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_17(Smoke::Stack x) {
        // static bool isTimeZoneDaemonAvailable()
        bool xret = KSystemTimeZones::isTimeZoneDaemonAvailable();
        x[0].s_bool = xret;
    }
    static void x_18(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = KSystemTimeZones::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_19(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = KSystemTimeZones::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_20(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&KSystemTimeZones::staticMetaObject;
    }
};
void xcall_KSystemTimeZones(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KSystemTimeZones *xself = (x_KSystemTimeZones*)obj;
    switch(xi) {
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_KSystemTimeZones::x_3(args);	break;
        case 4: x_KSystemTimeZones::x_4(args);	break;
        case 5: x_KSystemTimeZones::x_5(args);	break;
        case 6: x_KSystemTimeZones::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_KSystemTimeZones::x_8(args);	break;
        case 9: x_KSystemTimeZones::x_9(args);	break;
        case 10: x_KSystemTimeZones::x_10(args);	break;
        case 11: x_KSystemTimeZones::x_11(args);	break;
        case 12: x_KSystemTimeZones::x_12(args);	break;
        case 13: x_KSystemTimeZones::x_13(args);	break;
        case 14: x_KSystemTimeZones::x_14(args);	break;
        case 15: x_KSystemTimeZones::x_15(args);	break;
        case 16: x_KSystemTimeZones::x_16(args);	break;
        case 17: x_KSystemTimeZones::x_17(args);	break;
        case 18: x_KSystemTimeZones::x_18(args);	break;
        case 19: x_KSystemTimeZones::x_19(args);	break;
        case 20: x_KSystemTimeZones::x_20(args);	break;
        case 21: delete (KSystemTimeZones*)xself;	break;
    }
}

}
