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

#include <smoke.h>
#include <akonadi_smoke.h>

class __internal_SmokeClass {};

namespace __smokeakonadi {

class x_Akonadi__PreprocessorBase : public Akonadi::PreprocessorBase {
    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<Akonadi::PreprocessorBase*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__PreprocessorBase*)this)->Akonadi::PreprocessorBase::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__PreprocessorBase*)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<Akonadi::PreprocessorBase*>(this))) {
            void* xret = this->Akonadi::PreprocessorBase::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 = Akonadi::PreprocessorBase::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 = Akonadi::PreprocessorBase::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 = Akonadi::PreprocessorBase::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 = Akonadi::PreprocessorBase::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<Akonadi::PreprocessorBase*>(this))) {
            int xret = this->Akonadi::PreprocessorBase::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;
        }
    }
    void x_8(Smoke::Stack x) {
        // virtual Akonadi::PreprocessorBase::ProcessingResult processItem(const Akonadi::Item&) = 0
        Akonadi::PreprocessorBase::ProcessingResult xret = this->processItem(*(const Akonadi::Item*)x[1].s_class);
        x[0].s_enum = xret;
    }
    void x_9(Smoke::Stack x) {
        // void finishProcessing(Akonadi::PreprocessorBase::ProcessingResult)
        this->Akonadi::PreprocessorBase::finishProcessing((Akonadi::PreprocessorBase::ProcessingResult)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // void setFetchScope(const Akonadi::ItemFetchScope&)
        this->Akonadi::PreprocessorBase::setFetchScope(*(const Akonadi::ItemFetchScope*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // Akonadi::ItemFetchScope& fetchScope()
        Akonadi::ItemFetchScope& xret = this->Akonadi::PreprocessorBase::fetchScope();
        x[0].s_class = (void*)&xret;
    }
    static void x_12(Smoke::Stack x) {
        // Akonadi::PreprocessorBase* PreprocessorBase(const QString&)
        x_Akonadi__PreprocessorBase* xret = new x_Akonadi__PreprocessorBase(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__PreprocessorBase(const QString& x1) : PreprocessorBase(x1) {}
    static void x_13(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::PreprocessorBase::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::PreprocessorBase::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_15(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::PreprocessorBase::staticMetaObject;
    }
    static void x_16(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::PreprocessorBase::ProcessingCompleted;
    }
    static void x_17(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::PreprocessorBase::ProcessingDelayed;
    }
    static void x_18(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::PreprocessorBase::ProcessingFailed;
    }
    static void x_19(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::PreprocessorBase::ProcessingRefused;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2083, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::PreprocessorBase::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2084, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::PreprocessorBase::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(2089, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::PreprocessorBase::qt_metacall(x1, x2, x3);
    }
    virtual Akonadi::PreprocessorBase::ProcessingResult processItem(const Akonadi::Item& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(2090, (void*)this, x, true /*pure virtual*/);
        return (Akonadi::PreprocessorBase::ProcessingResult)x[0].s_enum;
    }
    virtual int status() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(27, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::AgentBase::status();
    }
    virtual QString statusMessage() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(28, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::AgentBase::statusMessage();
    }
    virtual int progress() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(29, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::AgentBase::progress();
    }
    virtual QString progressMessage() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(30, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::AgentBase::progressMessage();
    }
    virtual void configure(WId x1) {
        Smoke::StackItem x[2];
        x[1].s_ulong = x1;
        if (this->_binding->callMethod(31, (void*)this, x)) return;
        this->Akonadi::AgentBase::configure(x1);
    }
    virtual void cleanup() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(34, (void*)this, x)) return;
        this->Akonadi::AgentBase::cleanup();
    }
    virtual void aboutToQuit() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(51, (void*)this, x)) return;
        this->Akonadi::AgentBase::aboutToQuit();
    }
    virtual void doSetOnline(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(60, (void*)this, x)) return;
        this->Akonadi::AgentBase::doSetOnline(x1);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (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(2687, (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(2688, (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(2689, (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(2690, (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(2691, (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(2692, (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 164: //Akonadi::PreprocessorBase::ProcessingResult
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::PreprocessorBase::ProcessingResult;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::PreprocessorBase::ProcessingResult*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::PreprocessorBase::ProcessingResult*)xdata = (Akonadi::PreprocessorBase::ProcessingResult)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::PreprocessorBase::ProcessingResult*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_Akonadi__PreprocessorBase() { this->_binding->deleted(101, (void*)this); }
};
void xenum_Akonadi__PreprocessorBase(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Akonadi__PreprocessorBase::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Akonadi__PreprocessorBase(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__PreprocessorBase *xself = (x_Akonadi__PreprocessorBase*)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_Akonadi__PreprocessorBase::x_3(args);	break;
        case 4: x_Akonadi__PreprocessorBase::x_4(args);	break;
        case 5: x_Akonadi__PreprocessorBase::x_5(args);	break;
        case 6: x_Akonadi__PreprocessorBase::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: x_Akonadi__PreprocessorBase::x_12(args);	break;
        case 13: x_Akonadi__PreprocessorBase::x_13(args);	break;
        case 14: x_Akonadi__PreprocessorBase::x_14(args);	break;
        case 15: x_Akonadi__PreprocessorBase::x_15(args);	break;
        case 16: x_Akonadi__PreprocessorBase::x_16(args);	break;
        case 17: x_Akonadi__PreprocessorBase::x_17(args);	break;
        case 18: x_Akonadi__PreprocessorBase::x_18(args);	break;
        case 19: x_Akonadi__PreprocessorBase::x_19(args);	break;
    }
}
class x_Akonadi__ResourceBase : public Akonadi::ResourceBase {
    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<Akonadi::ResourceBase*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__ResourceBase*)this)->Akonadi::ResourceBase::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__ResourceBase*)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<Akonadi::ResourceBase*>(this))) {
            void* xret = this->Akonadi::ResourceBase::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 = Akonadi::ResourceBase::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 = Akonadi::ResourceBase::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 = Akonadi::ResourceBase::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 = Akonadi::ResourceBase::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<Akonadi::ResourceBase*>(this))) {
            int xret = this->Akonadi::ResourceBase::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;
        }
    }
    void x_8(Smoke::Stack x) {
        // void setName(const QString&)
        this->Akonadi::ResourceBase::setName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // QString name() const
        QString xret = ((const x_Akonadi__ResourceBase*)this)->Akonadi::ResourceBase::name();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_10(Smoke::Stack x) {
        // void setAutomaticProgressReporting(bool)
        this->Akonadi::ResourceBase::setAutomaticProgressReporting((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void nameChanged(const QString&)
        this->Akonadi::ResourceBase::nameChanged(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void synchronized()
        this->Akonadi::ResourceBase::synchronized();
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // void attributesSynchronized(qlonglong)
        this->Akonadi::ResourceBase::attributesSynchronized(*(qlonglong*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // void collectionTreeSynchronized()
        this->Akonadi::ResourceBase::collectionTreeSynchronized();
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void retrieveNextItemSyncBatch(int)
        this->Akonadi::ResourceBase::retrieveNextItemSyncBatch((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // virtual void retrieveCollections() = 0
        this->retrieveCollections();
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void retrieveCollectionAttributes(const Akonadi::Collection&)
        this->Akonadi::ResourceBase::retrieveCollectionAttributes(*(const Akonadi::Collection*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // virtual void retrieveItems(const Akonadi::Collection&) = 0
        this->retrieveItems(*(const Akonadi::Collection*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // int itemSyncBatchSize() const
        int xret = ((const x_Akonadi__ResourceBase*)this)->Akonadi::ResourceBase::itemSyncBatchSize();
        x[0].s_int = xret;
    }
    void x_20(Smoke::Stack x) {
        // void setItemSyncBatchSize(int)
        this->Akonadi::ResourceBase::setItemSyncBatchSize((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // virtual bool retrieveItem(const Akonadi::Item&, const QSet<QByteArray>&) = 0
        bool xret = this->retrieveItem(*(const Akonadi::Item*)x[1].s_class,*(const QSet<QByteArray>*)x[2].s_class);
        x[0].s_bool = xret;
    }
    void x_22(Smoke::Stack x) {
        // void abortActivity()
        this->Akonadi::ResourceBase::abortActivity();
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // QString dumpResourceToString() const
        QString xret = ((const x_Akonadi__ResourceBase*)this)->Akonadi::ResourceBase::dumpResourceToString();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_24(Smoke::Stack x) {
        // Akonadi::ResourceBase* ResourceBase(const QString&)
        x_Akonadi__ResourceBase* xret = new x_Akonadi__ResourceBase(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ResourceBase(const QString& x1) : ResourceBase(x1) {}
    void x_25(Smoke::Stack x) {
        // void itemRetrieved(const Akonadi::Item&)
        this->Akonadi::ResourceBase::itemRetrieved(*(const Akonadi::Item*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // void collectionAttributesRetrieved(const Akonadi::Collection&)
        this->Akonadi::ResourceBase::collectionAttributesRetrieved(*(const Akonadi::Collection*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // void changeCommitted(const Akonadi::Item&)
        this->Akonadi::ResourceBase::changeCommitted(*(const Akonadi::Item*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // void changesCommitted(const QList<Akonadi::Item>&)
        this->Akonadi::ResourceBase::changesCommitted(*(const QList<Akonadi::Item>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // void changeCommitted(const Akonadi::Tag&)
        this->Akonadi::ResourceBase::changeCommitted(*(const Akonadi::Tag*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // void changeCommitted(const Akonadi::Collection&)
        this->Akonadi::ResourceBase::changeCommitted(*(const Akonadi::Collection*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // void collectionsRetrieved(const QList<Akonadi::Collection>&)
        this->Akonadi::ResourceBase::collectionsRetrieved(*(const QList<Akonadi::Collection>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // void collectionsRetrievedIncremental(const QList<Akonadi::Collection>&, const QList<Akonadi::Collection>&)
        this->Akonadi::ResourceBase::collectionsRetrievedIncremental(*(const QList<Akonadi::Collection>*)x[1].s_class,*(const QList<Akonadi::Collection>*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // void setCollectionStreamingEnabled(bool)
        this->Akonadi::ResourceBase::setCollectionStreamingEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_34(Smoke::Stack x) {
        // void collectionsRetrievalDone()
        this->Akonadi::ResourceBase::collectionsRetrievalDone();
        (void)x; // noop (for compiler warning)
    }
    void x_35(Smoke::Stack x) {
        // void setKeepLocalCollectionChanges(const QSet<QByteArray>&)
        this->Akonadi::ResourceBase::setKeepLocalCollectionChanges(*(const QSet<QByteArray>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_36(Smoke::Stack x) {
        // void itemsRetrieved(const QList<Akonadi::Item>&)
        this->Akonadi::ResourceBase::itemsRetrieved(*(const QList<Akonadi::Item>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_37(Smoke::Stack x) {
        // void setTotalItems(int)
        this->Akonadi::ResourceBase::setTotalItems((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_38(Smoke::Stack x) {
        // void setDisableAutomaticItemDeliveryDone(bool)
        this->Akonadi::ResourceBase::setDisableAutomaticItemDeliveryDone((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_39(Smoke::Stack x) {
        // void setItemStreamingEnabled(bool)
        this->Akonadi::ResourceBase::setItemStreamingEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_40(Smoke::Stack x) {
        // void setItemTransactionMode(Akonadi::ItemSync::TransactionMode)
        this->Akonadi::ResourceBase::setItemTransactionMode((Akonadi::ItemSync::TransactionMode)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_41(Smoke::Stack x) {
        // void setItemSynchronizationFetchScope(const Akonadi::ItemFetchScope&)
        this->Akonadi::ResourceBase::setItemSynchronizationFetchScope(*(const Akonadi::ItemFetchScope*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_42(Smoke::Stack x) {
        // void itemsRetrievedIncremental(const QList<Akonadi::Item>&, const QList<Akonadi::Item>&)
        this->Akonadi::ResourceBase::itemsRetrievedIncremental(*(const QList<Akonadi::Item>*)x[1].s_class,*(const QList<Akonadi::Item>*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_43(Smoke::Stack x) {
        // void itemsRetrievalDone()
        this->Akonadi::ResourceBase::itemsRetrievalDone();
        (void)x; // noop (for compiler warning)
    }
    void x_44(Smoke::Stack x) {
        // void clearCache()
        this->Akonadi::ResourceBase::clearCache();
        (void)x; // noop (for compiler warning)
    }
    void x_45(Smoke::Stack x) {
        // void invalidateCache(const Akonadi::Collection&)
        this->Akonadi::ResourceBase::invalidateCache(*(const Akonadi::Collection*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_46(Smoke::Stack x) {
        // Akonadi::Collection currentCollection() const
        Akonadi::Collection xret = ((const x_Akonadi__ResourceBase*)this)->Akonadi::ResourceBase::currentCollection();
        x[0].s_class = (void*)new Akonadi::Collection(xret);
    }
    void x_47(Smoke::Stack x) {
        // Akonadi::Item currentItem() const
        Akonadi::Item xret = ((const x_Akonadi__ResourceBase*)this)->Akonadi::ResourceBase::currentItem();
        x[0].s_class = (void*)new Akonadi::Item(xret);
    }
    void x_48(Smoke::Stack x) {
        // void synchronize()
        this->Akonadi::ResourceBase::synchronize();
        (void)x; // noop (for compiler warning)
    }
    void x_49(Smoke::Stack x) {
        // void synchronizeCollection(long long)
        this->Akonadi::ResourceBase::synchronizeCollection(*(long long*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_50(Smoke::Stack x) {
        // void synchronizeCollection(long long, bool)
        this->Akonadi::ResourceBase::synchronizeCollection(*(long long*)x[1].s_class,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_51(Smoke::Stack x) {
        // void synchronizeCollectionAttributes(long long)
        this->Akonadi::ResourceBase::synchronizeCollectionAttributes(*(long long*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_52(Smoke::Stack x) {
        // void synchronizeCollectionTree()
        this->Akonadi::ResourceBase::synchronizeCollectionTree();
        (void)x; // noop (for compiler warning)
    }
    void x_53(Smoke::Stack x) {
        // void cancelTask()
        this->Akonadi::ResourceBase::cancelTask();
        (void)x; // noop (for compiler warning)
    }
    void x_54(Smoke::Stack x) {
        // void cancelTask(const QString&)
        this->Akonadi::ResourceBase::cancelTask(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_55(Smoke::Stack x) {
        // void deferTask()
        this->Akonadi::ResourceBase::deferTask();
        (void)x; // noop (for compiler warning)
    }
    void x_56(Smoke::Stack x) {
        // void doSetOnline(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::ResourceBase*>(this))) {
            this->Akonadi::ResourceBase::doSetOnline((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->doSetOnline((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_57(Smoke::Stack x) {
        // void setHierarchicalRemoteIdentifiersEnabled(bool)
        this->Akonadi::ResourceBase::setHierarchicalRemoteIdentifiersEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_58(Smoke::Stack x) {
        // void scheduleCustomTask(QObject*, const char*, const QVariant&, Akonadi::ResourceBase::SchedulePriority)
        this->Akonadi::ResourceBase::scheduleCustomTask((QObject*)x[1].s_class,(const char*)x[2].s_class,*(const QVariant*)x[3].s_class,(Akonadi::ResourceBase::SchedulePriority)x[4].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_59(Smoke::Stack x) {
        // void taskDone()
        this->Akonadi::ResourceBase::taskDone();
        (void)x; // noop (for compiler warning)
    }
    void x_60(Smoke::Stack x) {
        // QString dumpNotificationListToString() const
        QString xret = ((const x_Akonadi__ResourceBase*)this)->Akonadi::ResourceBase::dumpNotificationListToString();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_61(Smoke::Stack x) {
        // void dumpMemoryInfo() const
        ((const x_Akonadi__ResourceBase*)this)->Akonadi::ResourceBase::dumpMemoryInfo();
        (void)x; // noop (for compiler warning)
    }
    void x_62(Smoke::Stack x) {
        // QString dumpMemoryInfoToString() const
        QString xret = ((const x_Akonadi__ResourceBase*)this)->Akonadi::ResourceBase::dumpMemoryInfoToString();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_63(Smoke::Stack x) {
        // QString dumpSchedulerToString() const
        QString xret = ((const x_Akonadi__ResourceBase*)this)->Akonadi::ResourceBase::dumpSchedulerToString();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_64(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::ResourceBase::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_65(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::ResourceBase::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_66(Smoke::Stack x) {
        // void scheduleCustomTask(QObject*, const char*, const QVariant&)
        this->Akonadi::ResourceBase::scheduleCustomTask((QObject*)x[1].s_class,(const char*)x[2].s_class,*(const QVariant*)x[3].s_class,(Akonadi::ResourceBase::SchedulePriority)Akonadi::ResourceBase::Append);
        (void)x; // noop (for compiler warning)
    }
    static void x_67(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::ResourceBase::staticMetaObject;
    }
    static void x_68(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ResourceBase::Prepend;
    }
    static void x_69(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ResourceBase::AfterChangeReplay;
    }
    static void x_70(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ResourceBase::Append;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2103, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::ResourceBase::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2104, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::ResourceBase::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(2109, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::ResourceBase::qt_metacall(x1, x2, x3);
    }
    virtual void retrieveCollections() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(2118, (void*)this, x, true /*pure virtual*/);
    }
    virtual void retrieveItems(const Akonadi::Collection& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(2120, (void*)this, x, true /*pure virtual*/);
    }
    virtual bool retrieveItem(const Akonadi::Item& x1, const QSet<QByteArray>& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        this->_binding->callMethod(2123, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual int status() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(27, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::AgentBase::status();
    }
    virtual QString statusMessage() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(28, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::AgentBase::statusMessage();
    }
    virtual int progress() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(29, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::AgentBase::progress();
    }
    virtual QString progressMessage() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(30, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::AgentBase::progressMessage();
    }
    virtual void configure(WId x1) {
        Smoke::StackItem x[2];
        x[1].s_ulong = x1;
        if (this->_binding->callMethod(31, (void*)this, x)) return;
        this->Akonadi::AgentBase::configure(x1);
    }
    virtual void cleanup() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(34, (void*)this, x)) return;
        this->Akonadi::AgentBase::cleanup();
    }
    virtual void aboutToQuit() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(51, (void*)this, x)) return;
        this->Akonadi::AgentBase::aboutToQuit();
    }
    virtual void doSetOnline(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(2158, (void*)this, x)) return;
        this->Akonadi::ResourceBase::doSetOnline(x1);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (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(2687, (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(2688, (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(2689, (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(2690, (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(2691, (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(2692, (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 166: //Akonadi::ResourceBase::SchedulePriority
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::ResourceBase::SchedulePriority;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::ResourceBase::SchedulePriority*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::ResourceBase::SchedulePriority*)xdata = (Akonadi::ResourceBase::SchedulePriority)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::ResourceBase::SchedulePriority*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_Akonadi__ResourceBase() { this->_binding->deleted(102, (void*)this); }
};
void xenum_Akonadi__ResourceBase(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Akonadi__ResourceBase::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Akonadi__ResourceBase(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__ResourceBase *xself = (x_Akonadi__ResourceBase*)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_Akonadi__ResourceBase::x_3(args);	break;
        case 4: x_Akonadi__ResourceBase::x_4(args);	break;
        case 5: x_Akonadi__ResourceBase::x_5(args);	break;
        case 6: x_Akonadi__ResourceBase::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: x_Akonadi__ResourceBase::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: x_Akonadi__ResourceBase::x_64(args);	break;
        case 65: x_Akonadi__ResourceBase::x_65(args);	break;
        case 66: xself->x_66(args);	break;
        case 67: x_Akonadi__ResourceBase::x_67(args);	break;
        case 68: x_Akonadi__ResourceBase::x_68(args);	break;
        case 69: x_Akonadi__ResourceBase::x_69(args);	break;
        case 70: x_Akonadi__ResourceBase::x_70(args);	break;
    }
}
class x_Akonadi__ResourceSynchronizationJob : public Akonadi::ResourceSynchronizationJob, 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<Akonadi::ResourceSynchronizationJob*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__ResourceSynchronizationJob*)this)->Akonadi::ResourceSynchronizationJob::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__ResourceSynchronizationJob*)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<Akonadi::ResourceSynchronizationJob*>(this))) {
            void* xret = this->Akonadi::ResourceSynchronizationJob::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 = Akonadi::ResourceSynchronizationJob::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 = Akonadi::ResourceSynchronizationJob::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 = Akonadi::ResourceSynchronizationJob::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 = Akonadi::ResourceSynchronizationJob::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<Akonadi::ResourceSynchronizationJob*>(this))) {
            int xret = this->Akonadi::ResourceSynchronizationJob::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) {
        // Akonadi::ResourceSynchronizationJob* ResourceSynchronizationJob(const Akonadi::AgentInstance&, QObject*)
        x_Akonadi__ResourceSynchronizationJob* xret = new x_Akonadi__ResourceSynchronizationJob(*(const Akonadi::AgentInstance*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ResourceSynchronizationJob(const Akonadi::AgentInstance& x1, QObject* x2) : ResourceSynchronizationJob(x1, x2) {}
    void x_9(Smoke::Stack x) {
        // bool collectionTreeOnly() const
        bool xret = ((const x_Akonadi__ResourceSynchronizationJob*)this)->Akonadi::ResourceSynchronizationJob::collectionTreeOnly();
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // void setCollectionTreeOnly(bool)
        this->Akonadi::ResourceSynchronizationJob::setCollectionTreeOnly((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // Akonadi::AgentInstance resource() const
        Akonadi::AgentInstance xret = ((const x_Akonadi__ResourceSynchronizationJob*)this)->Akonadi::ResourceSynchronizationJob::resource();
        x[0].s_class = (void*)new Akonadi::AgentInstance(xret);
    }
    void x_12(Smoke::Stack x) {
        // void start()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::ResourceSynchronizationJob*>(this))) {
            this->Akonadi::ResourceSynchronizationJob::start();
            (void)x; // noop (for compiler warning)
        } else {
            this->start();
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_13(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::ResourceSynchronizationJob::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::ResourceSynchronizationJob::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_15(Smoke::Stack x) {
        // Akonadi::ResourceSynchronizationJob* ResourceSynchronizationJob(const Akonadi::AgentInstance&)
        x_Akonadi__ResourceSynchronizationJob* xret = new x_Akonadi__ResourceSynchronizationJob(*(const Akonadi::AgentInstance*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_16(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::ResourceSynchronizationJob::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2174, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::ResourceSynchronizationJob::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2175, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::ResourceSynchronizationJob::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(2180, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::ResourceSynchronizationJob::qt_metacall(x1, x2, x3);
    }
    virtual void start() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2185, (void*)this, x)) return;
        this->Akonadi::ResourceSynchronizationJob::start();
    }
    virtual bool doKill() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2507, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doKill();
    }
    virtual bool doSuspend() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2508, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doSuspend();
    }
    virtual bool doResume() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2509, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doResume();
    }
    virtual QString errorString() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2510, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KJob::errorString();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (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(2687, (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(2688, (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(2689, (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(2690, (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(2691, (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(2692, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_Akonadi__ResourceSynchronizationJob() { this->_binding->deleted(103, (void*)this); }
};
void xcall_Akonadi__ResourceSynchronizationJob(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__ResourceSynchronizationJob *xself = (x_Akonadi__ResourceSynchronizationJob*)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_Akonadi__ResourceSynchronizationJob::x_3(args);	break;
        case 4: x_Akonadi__ResourceSynchronizationJob::x_4(args);	break;
        case 5: x_Akonadi__ResourceSynchronizationJob::x_5(args);	break;
        case 6: x_Akonadi__ResourceSynchronizationJob::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__ResourceSynchronizationJob::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: x_Akonadi__ResourceSynchronizationJob::x_13(args);	break;
        case 14: x_Akonadi__ResourceSynchronizationJob::x_14(args);	break;
        case 15: x_Akonadi__ResourceSynchronizationJob::x_15(args);	break;
        case 16: x_Akonadi__ResourceSynchronizationJob::x_16(args);	break;
        case 17: delete (Akonadi::ResourceSynchronizationJob*)xself;	break;
    }
}
class x_Akonadi__SearchCreateJob : public Akonadi::SearchCreateJob, 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<Akonadi::SearchCreateJob*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__SearchCreateJob*)this)->Akonadi::SearchCreateJob::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__SearchCreateJob*)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<Akonadi::SearchCreateJob*>(this))) {
            void* xret = this->Akonadi::SearchCreateJob::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 = Akonadi::SearchCreateJob::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 = Akonadi::SearchCreateJob::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 = Akonadi::SearchCreateJob::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 = Akonadi::SearchCreateJob::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<Akonadi::SearchCreateJob*>(this))) {
            int xret = this->Akonadi::SearchCreateJob::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) {
        // Akonadi::SearchCreateJob* SearchCreateJob(const QString&, const QString&, QObject*)
        x_Akonadi__SearchCreateJob* xret = new x_Akonadi__SearchCreateJob(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(QObject*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__SearchCreateJob(const QString& x1, const QString& x2, QObject* x3) : SearchCreateJob(x1, x2, x3) {}
    static void x_9(Smoke::Stack x) {
        // Akonadi::SearchCreateJob* SearchCreateJob(const QString&, const Akonadi::SearchQuery&, QObject*)
        x_Akonadi__SearchCreateJob* xret = new x_Akonadi__SearchCreateJob(*(const QString*)x[1].s_class,*(const Akonadi::SearchQuery*)x[2].s_class,(QObject*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__SearchCreateJob(const QString& x1, const Akonadi::SearchQuery& x2, QObject* x3) : SearchCreateJob(x1, x2, x3) {}
    void x_10(Smoke::Stack x) {
        // void setQueryLanguage(const QString&)
        this->Akonadi::SearchCreateJob::setQueryLanguage(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void setSearchMimeTypes(const QStringList&)
        this->Akonadi::SearchCreateJob::setSearchMimeTypes(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // QStringList searchMimeTypes() const
        QStringList xret = ((const x_Akonadi__SearchCreateJob*)this)->Akonadi::SearchCreateJob::searchMimeTypes();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_13(Smoke::Stack x) {
        // void setSearchCollections(const QList<Akonadi::Collection>&)
        this->Akonadi::SearchCreateJob::setSearchCollections(*(const QList<Akonadi::Collection>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // QList<Akonadi::Collection> searchCollections() const
        QList<Akonadi::Collection> xret = ((const x_Akonadi__SearchCreateJob*)this)->Akonadi::SearchCreateJob::searchCollections();
        x[0].s_class = (void*)new QList<Akonadi::Collection>(xret);
    }
    void x_15(Smoke::Stack x) {
        // void setRemoteSearchEnabled(bool)
        this->Akonadi::SearchCreateJob::setRemoteSearchEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // bool isRemoteSearchEnabled() const
        bool xret = ((const x_Akonadi__SearchCreateJob*)this)->Akonadi::SearchCreateJob::isRemoteSearchEnabled();
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // void setRecursive(bool)
        this->Akonadi::SearchCreateJob::setRecursive((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // bool isRecursive() const
        bool xret = ((const x_Akonadi__SearchCreateJob*)this)->Akonadi::SearchCreateJob::isRecursive();
        x[0].s_bool = xret;
    }
    void x_19(Smoke::Stack x) {
        // Akonadi::Collection createdCollection() const
        Akonadi::Collection xret = ((const x_Akonadi__SearchCreateJob*)this)->Akonadi::SearchCreateJob::createdCollection();
        x[0].s_class = (void*)new Akonadi::Collection(xret);
    }
    void x_20(Smoke::Stack x) {
        // void doStart()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::SearchCreateJob*>(this))) {
            this->Akonadi::SearchCreateJob::doStart();
            (void)x; // noop (for compiler warning)
        } else {
            this->doStart();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_21(Smoke::Stack x) {
        // void doHandleResponse(const QByteArray&, const QByteArray&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::SearchCreateJob*>(this))) {
            this->Akonadi::SearchCreateJob::doHandleResponse(*(const QByteArray*)x[1].s_class,*(const QByteArray*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->doHandleResponse(*(const QByteArray*)x[1].s_class,*(const QByteArray*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_22(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::SearchCreateJob::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_23(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::SearchCreateJob::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_24(Smoke::Stack x) {
        // Akonadi::SearchCreateJob* SearchCreateJob(const QString&, const QString&)
        x_Akonadi__SearchCreateJob* xret = new x_Akonadi__SearchCreateJob(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_25(Smoke::Stack x) {
        // Akonadi::SearchCreateJob* SearchCreateJob(const QString&, const Akonadi::SearchQuery&)
        x_Akonadi__SearchCreateJob* xret = new x_Akonadi__SearchCreateJob(*(const QString*)x[1].s_class,*(const Akonadi::SearchQuery*)x[2].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_26(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::SearchCreateJob::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2191, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::SearchCreateJob::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2192, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::SearchCreateJob::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(2197, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::SearchCreateJob::qt_metacall(x1, x2, x3);
    }
    virtual QString errorString() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1847, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::Job::errorString();
    }
    virtual void doStart() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2210, (void*)this, x)) return;
        this->Akonadi::SearchCreateJob::doStart();
    }
    virtual void doHandleResponse(const QByteArray& x1, const QByteArray& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(2211, (void*)this, x)) return;
        this->Akonadi::SearchCreateJob::doHandleResponse(x1, x2);
    }
    virtual bool addSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1852, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::addSubjob(x1);
    }
    virtual bool removeSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1853, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::removeSubjob(x1);
    }
    virtual bool doKill() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1854, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::doKill();
    }
    virtual void slotResult(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1856, (void*)this, x)) return;
        this->Akonadi::Job::slotResult(x1);
    }
    virtual void slotInfoMessage(KJob* x1, const QString& x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2494, (void*)this, x)) return;
        this->KCompositeJob::slotInfoMessage(x1, x2, x3);
    }
    virtual void start() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1846, (void*)this, x)) return;
        this->Akonadi::Job::start();
    }
    virtual bool doSuspend() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2508, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doSuspend();
    }
    virtual bool doResume() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2509, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doResume();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (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(2687, (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(2688, (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(2689, (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(2690, (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(2691, (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(2692, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_Akonadi__SearchCreateJob() { this->_binding->deleted(104, (void*)this); }
};
void xcall_Akonadi__SearchCreateJob(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__SearchCreateJob *xself = (x_Akonadi__SearchCreateJob*)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_Akonadi__SearchCreateJob::x_3(args);	break;
        case 4: x_Akonadi__SearchCreateJob::x_4(args);	break;
        case 5: x_Akonadi__SearchCreateJob::x_5(args);	break;
        case 6: x_Akonadi__SearchCreateJob::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__SearchCreateJob::x_8(args);	break;
        case 9: x_Akonadi__SearchCreateJob::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_Akonadi__SearchCreateJob::x_22(args);	break;
        case 23: x_Akonadi__SearchCreateJob::x_23(args);	break;
        case 24: x_Akonadi__SearchCreateJob::x_24(args);	break;
        case 25: x_Akonadi__SearchCreateJob::x_25(args);	break;
        case 26: x_Akonadi__SearchCreateJob::x_26(args);	break;
        case 27: delete (Akonadi::SearchCreateJob*)xself;	break;
    }
}
class x_Akonadi__SelectionProxyModel : public Akonadi::SelectionProxyModel, 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<Akonadi::SelectionProxyModel*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__SelectionProxyModel*)this)->Akonadi::SelectionProxyModel::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__SelectionProxyModel*)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<Akonadi::SelectionProxyModel*>(this))) {
            void* xret = this->Akonadi::SelectionProxyModel::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 = Akonadi::SelectionProxyModel::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 = Akonadi::SelectionProxyModel::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 = Akonadi::SelectionProxyModel::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 = Akonadi::SelectionProxyModel::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<Akonadi::SelectionProxyModel*>(this))) {
            int xret = this->Akonadi::SelectionProxyModel::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) {
        // Akonadi::SelectionProxyModel* SelectionProxyModel(QItemSelectionModel*, QObject*)
        x_Akonadi__SelectionProxyModel* xret = new x_Akonadi__SelectionProxyModel((QItemSelectionModel*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__SelectionProxyModel(QItemSelectionModel* x1, QObject* x2) : SelectionProxyModel(x1, x2) {}
    static void x_9(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::SelectionProxyModel::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_10(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::SelectionProxyModel::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_11(Smoke::Stack x) {
        // Akonadi::SelectionProxyModel* SelectionProxyModel(QItemSelectionModel*)
        x_Akonadi__SelectionProxyModel* xret = new x_Akonadi__SelectionProxyModel((QItemSelectionModel*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_12(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::SelectionProxyModel::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2218, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::SelectionProxyModel::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2219, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::SelectionProxyModel::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(2224, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::SelectionProxyModel::qt_metacall(x1, x2, x3);
    }
    virtual void setSourceModel(QAbstractItemModel* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2511, (void*)this, x)) return;
        this->KSelectionProxyModel::setSourceModel(x1);
    }
    virtual QFlags<Qt::ItemFlag> flags(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2516, (void*)this, x)) return (QFlags<Qt::ItemFlag>)x[0].s_uint;
        return this->KSelectionProxyModel::flags(x1);
    }
    virtual int rowCount(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2518, (void*)this, x)) return (int)x[0].s_int;
        return this->KSelectionProxyModel::rowCount(x1);
    }
    virtual QVariant headerData(int x1, Qt::Orientation x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(2519, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KSelectionProxyModel::headerData(x1, x2, x3);
    }
    virtual QMimeData* mimeData(const QList<QModelIndex>& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2520, (void*)this, x)) return (QMimeData*)x[0].s_class;
        return this->KSelectionProxyModel::mimeData(x1);
    }
    virtual QStringList mimeTypes() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2521, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KSelectionProxyModel::mimeTypes();
    }
    virtual QFlags<Qt::DropAction> supportedDropActions() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2522, (void*)this, x)) return (QFlags<Qt::DropAction>)x[0].s_uint;
        return this->KSelectionProxyModel::supportedDropActions();
    }
    virtual bool dropMimeData(const QMimeData* x1, Qt::DropAction x2, int x3, int x4, const QModelIndex& x5) {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        x[4].s_int = x4;
        x[5].s_class = (void*)&x5;
        if (this->_binding->callMethod(2523, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KSelectionProxyModel::dropMimeData(x1, x2, x3, x4, x5);
    }
    virtual bool hasChildren(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2524, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KSelectionProxyModel::hasChildren(x1);
    }
    virtual QModelIndex index(int x1, int x2, const QModelIndex& x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2525, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KSelectionProxyModel::index(x1, x2, x3);
    }
    virtual QModelIndex parent(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2526, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KSelectionProxyModel::parent(x1);
    }
    virtual int columnCount(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2527, (void*)this, x)) return (int)x[0].s_int;
        return this->KSelectionProxyModel::columnCount(x1);
    }
    virtual QList<QModelIndex> match(const QModelIndex& x1, int x2, const QVariant& x3, int x4, QFlags<Qt::MatchFlag> x5) const {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        x[4].s_int = x4;
        x[5].s_uint = (uint)x5;
        if (this->_binding->callMethod(2528, (void*)this, x)) {
            QList<QModelIndex>* xptr = (QList<QModelIndex>*)x[0].s_class;
            QList<QModelIndex> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KSelectionProxyModel::match(x1, x2, x3, x4, x5);
    }
    virtual QModelIndex mapToSource(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2513, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KSelectionProxyModel::mapToSource(x1);
    }
    virtual QModelIndex mapFromSource(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2512, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KSelectionProxyModel::mapFromSource(x1);
    }
    virtual QItemSelection mapSelectionToSource(const QItemSelection& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2515, (void*)this, x)) {
            QItemSelection* xptr = (QItemSelection*)x[0].s_class;
            QItemSelection xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KSelectionProxyModel::mapSelectionToSource(x1);
    }
    virtual QItemSelection mapSelectionFromSource(const QItemSelection& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2514, (void*)this, x)) {
            QItemSelection* xptr = (QItemSelection*)x[0].s_class;
            QItemSelection xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KSelectionProxyModel::mapSelectionFromSource(x1);
    }
    virtual QVariant data(const QModelIndex& x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(2517, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KSelectionProxyModel::data(x1, x2);
    }
    virtual bool setData(const QModelIndex& x1, const QVariant& x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(2617, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractProxyModel::setData(x1, x2, x3);
    }
    virtual bool setHeaderData(int x1, Qt::Orientation x2, const QVariant& x3, int x4) {
        Smoke::StackItem x[5];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_class = (void*)&x3;
        x[4].s_int = x4;
        if (this->_binding->callMethod(2619, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractProxyModel::setHeaderData(x1, x2, x3, x4);
    }
    virtual QMap<int,QVariant> itemData(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2615, (void*)this, x)) {
            QMap<int,QVariant>* xptr = (QMap<int,QVariant>*)x[0].s_class;
            QMap<int,QVariant> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractProxyModel::itemData(x1);
    }
    virtual bool setItemData(const QModelIndex& x1, const QMap<int,QVariant>& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(2618, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractProxyModel::setItemData(x1, x2);
    }
    virtual bool insertRows(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2539, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::insertRows(x1, x2, x3);
    }
    virtual bool insertColumns(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2540, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::insertColumns(x1, x2, x3);
    }
    virtual bool removeRows(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2541, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::removeRows(x1, x2, x3);
    }
    virtual bool removeColumns(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2542, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::removeColumns(x1, x2, x3);
    }
    virtual void fetchMore(const QModelIndex& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2622, (void*)this, x)) return;
        this->QAbstractProxyModel::fetchMore(x1);
    }
    virtual bool canFetchMore(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2621, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractProxyModel::canFetchMore(x1);
    }
    virtual void sort(int x1, Qt::SortOrder x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(2623, (void*)this, x)) return;
        this->QAbstractProxyModel::sort(x1, x2);
    }
    virtual QModelIndex buddy(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2620, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractProxyModel::buddy(x1);
    }
    virtual QSize span(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2624, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractProxyModel::span(x1);
    }
    virtual bool submit() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2611, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractProxyModel::submit();
    }
    virtual void revert() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2612, (void*)this, x)) return;
        this->QAbstractProxyModel::revert();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (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(2687, (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(2688, (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(2689, (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(2690, (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(2691, (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(2692, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_Akonadi__SelectionProxyModel() { this->_binding->deleted(106, (void*)this); }
};
void xcall_Akonadi__SelectionProxyModel(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__SelectionProxyModel *xself = (x_Akonadi__SelectionProxyModel*)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_Akonadi__SelectionProxyModel::x_3(args);	break;
        case 4: x_Akonadi__SelectionProxyModel::x_4(args);	break;
        case 5: x_Akonadi__SelectionProxyModel::x_5(args);	break;
        case 6: x_Akonadi__SelectionProxyModel::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__SelectionProxyModel::x_8(args);	break;
        case 9: x_Akonadi__SelectionProxyModel::x_9(args);	break;
        case 10: x_Akonadi__SelectionProxyModel::x_10(args);	break;
        case 11: x_Akonadi__SelectionProxyModel::x_11(args);	break;
        case 12: x_Akonadi__SelectionProxyModel::x_12(args);	break;
        case 13: delete (Akonadi::SelectionProxyModel*)xself;	break;
    }
}
class x_Akonadi__ServerManager : public Akonadi::ServerManager, public __internal_SmokeClass {
public:
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        const QMetaObject* xret = ((const x_Akonadi__ServerManager*)this)->Akonadi::ServerManager::metaObject();
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        void* xret = this->Akonadi::ServerManager::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 = Akonadi::ServerManager::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 = Akonadi::ServerManager::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 = Akonadi::ServerManager::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 = Akonadi::ServerManager::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->Akonadi::ServerManager::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 bool start()
        bool xret = Akonadi::ServerManager::start();
        x[0].s_bool = xret;
    }
    static void x_9(Smoke::Stack x) {
        // static bool stop()
        bool xret = Akonadi::ServerManager::stop();
        x[0].s_bool = xret;
    }
    static void x_10(Smoke::Stack x) {
        // static void showSelfTestDialog(QWidget*)
        Akonadi::ServerManager::showSelfTestDialog((QWidget*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_11(Smoke::Stack x) {
        // static bool isRunning()
        bool xret = Akonadi::ServerManager::isRunning();
        x[0].s_bool = xret;
    }
    static void x_12(Smoke::Stack x) {
        // static Akonadi::ServerManager::State state()
        Akonadi::ServerManager::State xret = Akonadi::ServerManager::state();
        x[0].s_enum = xret;
    }
    static void x_13(Smoke::Stack x) {
        // static QString instanceIdentifier()
        QString xret = Akonadi::ServerManager::instanceIdentifier();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // static bool hasInstanceIdentifier()
        bool xret = Akonadi::ServerManager::hasInstanceIdentifier();
        x[0].s_bool = xret;
    }
    static void x_15(Smoke::Stack x) {
        // static QString serviceName(Akonadi::ServerManager::ServiceType)
        QString xret = Akonadi::ServerManager::serviceName((Akonadi::ServerManager::ServiceType)x[1].s_enum);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_16(Smoke::Stack x) {
        // static QString agentServiceName(Akonadi::ServerManager::ServiceAgentType, const QString&)
        QString xret = Akonadi::ServerManager::agentServiceName((Akonadi::ServerManager::ServiceAgentType)x[1].s_enum,*(const QString*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_17(Smoke::Stack x) {
        // static QString addNamespace(const QString&)
        QString xret = Akonadi::ServerManager::addNamespace(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_18(Smoke::Stack x) {
        // static Akonadi::ServerManager* self()
        Akonadi::ServerManager* xret = Akonadi::ServerManager::self();
        x[0].s_class = (void*)xret;
    }
    void x_19(Smoke::Stack x) {
        // void started()
        this->Akonadi::ServerManager::started();
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // void stopped()
        this->Akonadi::ServerManager::stopped();
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // void stateChanged(Akonadi::ServerManager::State)
        this->Akonadi::ServerManager::stateChanged((Akonadi::ServerManager::State)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    static void x_22(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::ServerManager::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_23(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::ServerManager::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_24(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::ServerManager::staticMetaObject;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ServerManager::NotRunning;
    }
    static void x_26(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ServerManager::Starting;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ServerManager::Running;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ServerManager::Stopping;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ServerManager::Broken;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ServerManager::Upgrading;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ServerManager::Server;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ServerManager::Control;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ServerManager::ControlLock;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ServerManager::UpgradeIndicator;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ServerManager::Agent;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ServerManager::Resource;
    }
    static void x_37(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ServerManager::Preprocessor;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 173: //Akonadi::ServerManager::State
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::ServerManager::State;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::ServerManager::State*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::ServerManager::State*)xdata = (Akonadi::ServerManager::State)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::ServerManager::State*)xdata;
                    break;
            }
            break;
        case 172: //Akonadi::ServerManager::ServiceType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::ServerManager::ServiceType;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::ServerManager::ServiceType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::ServerManager::ServiceType*)xdata = (Akonadi::ServerManager::ServiceType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::ServerManager::ServiceType*)xdata;
                    break;
            }
            break;
        case 171: //Akonadi::ServerManager::ServiceAgentType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::ServerManager::ServiceAgentType;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::ServerManager::ServiceAgentType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::ServerManager::ServiceAgentType*)xdata = (Akonadi::ServerManager::ServiceAgentType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::ServerManager::ServiceAgentType*)xdata;
                    break;
            }
            break;
        }
    }
};
void xenum_Akonadi__ServerManager(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Akonadi__ServerManager::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Akonadi__ServerManager(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__ServerManager *xself = (x_Akonadi__ServerManager*)obj;
    switch(xi) {
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_Akonadi__ServerManager::x_3(args);	break;
        case 4: x_Akonadi__ServerManager::x_4(args);	break;
        case 5: x_Akonadi__ServerManager::x_5(args);	break;
        case 6: x_Akonadi__ServerManager::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__ServerManager::x_8(args);	break;
        case 9: x_Akonadi__ServerManager::x_9(args);	break;
        case 10: x_Akonadi__ServerManager::x_10(args);	break;
        case 11: x_Akonadi__ServerManager::x_11(args);	break;
        case 12: x_Akonadi__ServerManager::x_12(args);	break;
        case 13: x_Akonadi__ServerManager::x_13(args);	break;
        case 14: x_Akonadi__ServerManager::x_14(args);	break;
        case 15: x_Akonadi__ServerManager::x_15(args);	break;
        case 16: x_Akonadi__ServerManager::x_16(args);	break;
        case 17: x_Akonadi__ServerManager::x_17(args);	break;
        case 18: x_Akonadi__ServerManager::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_Akonadi__ServerManager::x_22(args);	break;
        case 23: x_Akonadi__ServerManager::x_23(args);	break;
        case 24: x_Akonadi__ServerManager::x_24(args);	break;
        case 25: x_Akonadi__ServerManager::x_25(args);	break;
        case 26: x_Akonadi__ServerManager::x_26(args);	break;
        case 27: x_Akonadi__ServerManager::x_27(args);	break;
        case 28: x_Akonadi__ServerManager::x_28(args);	break;
        case 29: x_Akonadi__ServerManager::x_29(args);	break;
        case 30: x_Akonadi__ServerManager::x_30(args);	break;
        case 31: x_Akonadi__ServerManager::x_31(args);	break;
        case 32: x_Akonadi__ServerManager::x_32(args);	break;
        case 33: x_Akonadi__ServerManager::x_33(args);	break;
        case 34: x_Akonadi__ServerManager::x_34(args);	break;
        case 35: x_Akonadi__ServerManager::x_35(args);	break;
        case 36: x_Akonadi__ServerManager::x_36(args);	break;
        case 37: x_Akonadi__ServerManager::x_37(args);	break;
        case 38: delete (Akonadi::ServerManager*)xself;	break;
    }
}
class x_Akonadi__Session : public Akonadi::Session, 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<Akonadi::Session*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__Session*)this)->Akonadi::Session::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__Session*)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<Akonadi::Session*>(this))) {
            void* xret = this->Akonadi::Session::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 = Akonadi::Session::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 = Akonadi::Session::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 = Akonadi::Session::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 = Akonadi::Session::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<Akonadi::Session*>(this))) {
            int xret = this->Akonadi::Session::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) {
        // Akonadi::Session* Session(const QByteArray&, QObject*)
        x_Akonadi__Session* xret = new x_Akonadi__Session(*(const QByteArray*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__Session(const QByteArray& x1, QObject* x2) : Session(x1, x2) {}
    void x_9(Smoke::Stack x) {
        // QByteArray sessionId() const
        QByteArray xret = ((const x_Akonadi__Session*)this)->Akonadi::Session::sessionId();
        x[0].s_class = (void*)new QByteArray(xret);
    }
    static void x_10(Smoke::Stack x) {
        // static Akonadi::Session* defaultSession()
        Akonadi::Session* xret = Akonadi::Session::defaultSession();
        x[0].s_class = (void*)xret;
    }
    void x_11(Smoke::Stack x) {
        // void clear()
        this->Akonadi::Session::clear();
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void reconnected()
        this->Akonadi::Session::reconnected();
        (void)x; // noop (for compiler warning)
    }
    static void x_13(Smoke::Stack x) {
        // Akonadi::Session* Session(Akonadi::SessionPrivate*, const QByteArray&, QObject*)
        x_Akonadi__Session* xret = new x_Akonadi__Session((Akonadi::SessionPrivate*)x[1].s_class,*(const QByteArray*)x[2].s_class,(QObject*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__Session(Akonadi::SessionPrivate* x1, const QByteArray& x2, QObject* x3) : Session(x1, x2, x3) {}
    static void x_14(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::Session::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_15(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::Session::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_16(Smoke::Stack x) {
        // Akonadi::Session* Session()
        x_Akonadi__Session* xret = new x_Akonadi__Session((const QByteArray&)QByteArray(),(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_17(Smoke::Stack x) {
        // Akonadi::Session* Session(const QByteArray&)
        x_Akonadi__Session* xret = new x_Akonadi__Session(*(const QByteArray*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_18(Smoke::Stack x) {
        // Akonadi::Session* Session(Akonadi::SessionPrivate*)
        x_Akonadi__Session* xret = new x_Akonadi__Session((Akonadi::SessionPrivate*)x[1].s_class,(const QByteArray&)QByteArray(),(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_19(Smoke::Stack x) {
        // Akonadi::Session* Session(Akonadi::SessionPrivate*, const QByteArray&)
        x_Akonadi__Session* xret = new x_Akonadi__Session((Akonadi::SessionPrivate*)x[1].s_class,*(const QByteArray*)x[2].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_20(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::Session::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2269, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::Session::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2270, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::Session::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(2275, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::Session::qt_metacall(x1, x2, x3);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (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(2687, (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(2688, (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(2689, (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(2690, (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(2691, (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(2692, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_Akonadi__Session() { this->_binding->deleted(108, (void*)this); }
};
void xcall_Akonadi__Session(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__Session *xself = (x_Akonadi__Session*)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_Akonadi__Session::x_3(args);	break;
        case 4: x_Akonadi__Session::x_4(args);	break;
        case 5: x_Akonadi__Session::x_5(args);	break;
        case 6: x_Akonadi__Session::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__Session::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: x_Akonadi__Session::x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: x_Akonadi__Session::x_13(args);	break;
        case 14: x_Akonadi__Session::x_14(args);	break;
        case 15: x_Akonadi__Session::x_15(args);	break;
        case 16: x_Akonadi__Session::x_16(args);	break;
        case 17: x_Akonadi__Session::x_17(args);	break;
        case 18: x_Akonadi__Session::x_18(args);	break;
        case 19: x_Akonadi__Session::x_19(args);	break;
        case 20: x_Akonadi__Session::x_20(args);	break;
        case 21: delete (Akonadi::Session*)xself;	break;
    }
}
class x_Akonadi__StandardActionManager : public Akonadi::StandardActionManager, 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<Akonadi::StandardActionManager*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__StandardActionManager*)this)->Akonadi::StandardActionManager::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__StandardActionManager*)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<Akonadi::StandardActionManager*>(this))) {
            void* xret = this->Akonadi::StandardActionManager::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 = Akonadi::StandardActionManager::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 = Akonadi::StandardActionManager::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 = Akonadi::StandardActionManager::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 = Akonadi::StandardActionManager::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<Akonadi::StandardActionManager*>(this))) {
            int xret = this->Akonadi::StandardActionManager::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) {
        // Akonadi::StandardActionManager* StandardActionManager(KActionCollection*, QWidget*)
        x_Akonadi__StandardActionManager* xret = new x_Akonadi__StandardActionManager((KActionCollection*)x[1].s_class,(QWidget*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__StandardActionManager(KActionCollection* x1, QWidget* x2) : StandardActionManager(x1, x2) {}
    void x_9(Smoke::Stack x) {
        // void setCollectionSelectionModel(QItemSelectionModel*)
        this->Akonadi::StandardActionManager::setCollectionSelectionModel((QItemSelectionModel*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // void setItemSelectionModel(QItemSelectionModel*)
        this->Akonadi::StandardActionManager::setItemSelectionModel((QItemSelectionModel*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void setFavoriteCollectionsModel(Akonadi::FavoriteCollectionsModel*)
        this->Akonadi::StandardActionManager::setFavoriteCollectionsModel((Akonadi::FavoriteCollectionsModel*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void setFavoriteSelectionModel(QItemSelectionModel*)
        this->Akonadi::StandardActionManager::setFavoriteSelectionModel((QItemSelectionModel*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // KAction* createAction(Akonadi::StandardActionManager::Type)
        KAction* xret = this->Akonadi::StandardActionManager::createAction((Akonadi::StandardActionManager::Type)x[1].s_enum);
        x[0].s_class = (void*)xret;
    }
    void x_14(Smoke::Stack x) {
        // void createAllActions()
        this->Akonadi::StandardActionManager::createAllActions();
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // KAction* action(Akonadi::StandardActionManager::Type) const
        KAction* xret = ((const x_Akonadi__StandardActionManager*)this)->Akonadi::StandardActionManager::action((Akonadi::StandardActionManager::Type)x[1].s_enum);
        x[0].s_class = (void*)xret;
    }
    void x_16(Smoke::Stack x) {
        // void setActionText(Akonadi::StandardActionManager::Type, const KLocalizedString&)
        this->Akonadi::StandardActionManager::setActionText((Akonadi::StandardActionManager::Type)x[1].s_enum,*(const KLocalizedString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void interceptAction(Akonadi::StandardActionManager::Type, bool)
        this->Akonadi::StandardActionManager::interceptAction((Akonadi::StandardActionManager::Type)x[1].s_enum,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // QList<Akonadi::Collection> selectedCollections() const
        QList<Akonadi::Collection> xret = ((const x_Akonadi__StandardActionManager*)this)->Akonadi::StandardActionManager::selectedCollections();
        x[0].s_class = (void*)new QList<Akonadi::Collection>(xret);
    }
    void x_19(Smoke::Stack x) {
        // QList<Akonadi::Item> selectedItems() const
        QList<Akonadi::Item> xret = ((const x_Akonadi__StandardActionManager*)this)->Akonadi::StandardActionManager::selectedItems();
        x[0].s_class = (void*)new QList<Akonadi::Item>(xret);
    }
    void x_20(Smoke::Stack x) {
        // void setContextText(Akonadi::StandardActionManager::Type, Akonadi::StandardActionManager::TextContext, const QString&)
        this->Akonadi::StandardActionManager::setContextText((Akonadi::StandardActionManager::Type)x[1].s_enum,(Akonadi::StandardActionManager::TextContext)x[2].s_enum,*(const QString*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // void setContextText(Akonadi::StandardActionManager::Type, Akonadi::StandardActionManager::TextContext, const KLocalizedString&)
        this->Akonadi::StandardActionManager::setContextText((Akonadi::StandardActionManager::Type)x[1].s_enum,(Akonadi::StandardActionManager::TextContext)x[2].s_enum,*(const KLocalizedString*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // void setMimeTypeFilter(const QStringList&)
        this->Akonadi::StandardActionManager::setMimeTypeFilter(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // void setCapabilityFilter(const QStringList&)
        this->Akonadi::StandardActionManager::setCapabilityFilter(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // void setCollectionPropertiesPageNames(const QStringList&)
        this->Akonadi::StandardActionManager::setCollectionPropertiesPageNames(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // void createActionFolderMenu(QMenu*, Akonadi::StandardActionManager::Type)
        this->Akonadi::StandardActionManager::createActionFolderMenu((QMenu*)x[1].s_class,(Akonadi::StandardActionManager::Type)x[2].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // void actionStateUpdated()
        this->Akonadi::StandardActionManager::actionStateUpdated();
        (void)x; // noop (for compiler warning)
    }
    static void x_27(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::StandardActionManager::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_28(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::StandardActionManager::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_29(Smoke::Stack x) {
        // Akonadi::StandardActionManager* StandardActionManager(KActionCollection*)
        x_Akonadi__StandardActionManager* xret = new x_Akonadi__StandardActionManager((KActionCollection*)x[1].s_class,(QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    void x_30(Smoke::Stack x) {
        // void interceptAction(Akonadi::StandardActionManager::Type)
        this->Akonadi::StandardActionManager::interceptAction((Akonadi::StandardActionManager::Type)x[1].s_enum,(bool)true);
        (void)x; // noop (for compiler warning)
    }
    static void x_31(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::StandardActionManager::staticMetaObject;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::CreateCollection;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::CopyCollections;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::DeleteCollections;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::SynchronizeCollections;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::CollectionProperties;
    }
    static void x_37(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::CopyItems;
    }
    static void x_38(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::Paste;
    }
    static void x_39(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::DeleteItems;
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::ManageLocalSubscriptions;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::AddToFavoriteCollections;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::RemoveFromFavoriteCollections;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::RenameFavoriteCollection;
    }
    static void x_44(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::CopyCollectionToMenu;
    }
    static void x_45(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::CopyItemToMenu;
    }
    static void x_46(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::MoveItemToMenu;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::MoveCollectionToMenu;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::CutItems;
    }
    static void x_49(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::CutCollections;
    }
    static void x_50(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::CreateResource;
    }
    static void x_51(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::DeleteResources;
    }
    static void x_52(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::ResourceProperties;
    }
    static void x_53(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::SynchronizeResources;
    }
    static void x_54(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::ToggleWorkOffline;
    }
    static void x_55(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::CopyCollectionToDialog;
    }
    static void x_56(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::MoveCollectionToDialog;
    }
    static void x_57(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::CopyItemToDialog;
    }
    static void x_58(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::MoveItemToDialog;
    }
    static void x_59(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::SynchronizeCollectionsRecursive;
    }
    static void x_60(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::MoveCollectionsToTrash;
    }
    static void x_61(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::MoveItemsToTrash;
    }
    static void x_62(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::RestoreCollectionsFromTrash;
    }
    static void x_63(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::RestoreItemsFromTrash;
    }
    static void x_64(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::MoveToTrashRestoreCollection;
    }
    static void x_65(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::MoveToTrashRestoreCollectionAlternative;
    }
    static void x_66(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::MoveToTrashRestoreItem;
    }
    static void x_67(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::MoveToTrashRestoreItemAlternative;
    }
    static void x_68(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::SynchronizeFavoriteCollections;
    }
    static void x_69(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::LastType;
    }
    static void x_70(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::DialogTitle;
    }
    static void x_71(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::DialogText;
    }
    static void x_72(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::MessageBoxTitle;
    }
    static void x_73(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::MessageBoxText;
    }
    static void x_74(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::MessageBoxAlternativeText;
    }
    static void x_75(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::ErrorMessageTitle;
    }
    static void x_76(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::StandardActionManager::ErrorMessageText;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2290, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::StandardActionManager::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2291, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::StandardActionManager::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(2296, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::StandardActionManager::qt_metacall(x1, x2, x3);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (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(2687, (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(2688, (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(2689, (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(2690, (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(2691, (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(2692, (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 178: //Akonadi::StandardActionManager::Type
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::StandardActionManager::Type;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::StandardActionManager::Type*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::StandardActionManager::Type*)xdata = (Akonadi::StandardActionManager::Type)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::StandardActionManager::Type*)xdata;
                    break;
            }
            break;
        case 177: //Akonadi::StandardActionManager::TextContext
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::StandardActionManager::TextContext;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::StandardActionManager::TextContext*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::StandardActionManager::TextContext*)xdata = (Akonadi::StandardActionManager::TextContext)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::StandardActionManager::TextContext*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_Akonadi__StandardActionManager() { this->_binding->deleted(110, (void*)this); }
};
void xenum_Akonadi__StandardActionManager(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Akonadi__StandardActionManager::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Akonadi__StandardActionManager(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__StandardActionManager *xself = (x_Akonadi__StandardActionManager*)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_Akonadi__StandardActionManager::x_3(args);	break;
        case 4: x_Akonadi__StandardActionManager::x_4(args);	break;
        case 5: x_Akonadi__StandardActionManager::x_5(args);	break;
        case 6: x_Akonadi__StandardActionManager::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__StandardActionManager::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: x_Akonadi__StandardActionManager::x_27(args);	break;
        case 28: x_Akonadi__StandardActionManager::x_28(args);	break;
        case 29: x_Akonadi__StandardActionManager::x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: x_Akonadi__StandardActionManager::x_31(args);	break;
        case 32: x_Akonadi__StandardActionManager::x_32(args);	break;
        case 33: x_Akonadi__StandardActionManager::x_33(args);	break;
        case 34: x_Akonadi__StandardActionManager::x_34(args);	break;
        case 35: x_Akonadi__StandardActionManager::x_35(args);	break;
        case 36: x_Akonadi__StandardActionManager::x_36(args);	break;
        case 37: x_Akonadi__StandardActionManager::x_37(args);	break;
        case 38: x_Akonadi__StandardActionManager::x_38(args);	break;
        case 39: x_Akonadi__StandardActionManager::x_39(args);	break;
        case 40: x_Akonadi__StandardActionManager::x_40(args);	break;
        case 41: x_Akonadi__StandardActionManager::x_41(args);	break;
        case 42: x_Akonadi__StandardActionManager::x_42(args);	break;
        case 43: x_Akonadi__StandardActionManager::x_43(args);	break;
        case 44: x_Akonadi__StandardActionManager::x_44(args);	break;
        case 45: x_Akonadi__StandardActionManager::x_45(args);	break;
        case 46: x_Akonadi__StandardActionManager::x_46(args);	break;
        case 47: x_Akonadi__StandardActionManager::x_47(args);	break;
        case 48: x_Akonadi__StandardActionManager::x_48(args);	break;
        case 49: x_Akonadi__StandardActionManager::x_49(args);	break;
        case 50: x_Akonadi__StandardActionManager::x_50(args);	break;
        case 51: x_Akonadi__StandardActionManager::x_51(args);	break;
        case 52: x_Akonadi__StandardActionManager::x_52(args);	break;
        case 53: x_Akonadi__StandardActionManager::x_53(args);	break;
        case 54: x_Akonadi__StandardActionManager::x_54(args);	break;
        case 55: x_Akonadi__StandardActionManager::x_55(args);	break;
        case 56: x_Akonadi__StandardActionManager::x_56(args);	break;
        case 57: x_Akonadi__StandardActionManager::x_57(args);	break;
        case 58: x_Akonadi__StandardActionManager::x_58(args);	break;
        case 59: x_Akonadi__StandardActionManager::x_59(args);	break;
        case 60: x_Akonadi__StandardActionManager::x_60(args);	break;
        case 61: x_Akonadi__StandardActionManager::x_61(args);	break;
        case 62: x_Akonadi__StandardActionManager::x_62(args);	break;
        case 63: x_Akonadi__StandardActionManager::x_63(args);	break;
        case 64: x_Akonadi__StandardActionManager::x_64(args);	break;
        case 65: x_Akonadi__StandardActionManager::x_65(args);	break;
        case 66: x_Akonadi__StandardActionManager::x_66(args);	break;
        case 67: x_Akonadi__StandardActionManager::x_67(args);	break;
        case 68: x_Akonadi__StandardActionManager::x_68(args);	break;
        case 69: x_Akonadi__StandardActionManager::x_69(args);	break;
        case 70: x_Akonadi__StandardActionManager::x_70(args);	break;
        case 71: x_Akonadi__StandardActionManager::x_71(args);	break;
        case 72: x_Akonadi__StandardActionManager::x_72(args);	break;
        case 73: x_Akonadi__StandardActionManager::x_73(args);	break;
        case 74: x_Akonadi__StandardActionManager::x_74(args);	break;
        case 75: x_Akonadi__StandardActionManager::x_75(args);	break;
        case 76: x_Akonadi__StandardActionManager::x_76(args);	break;
        case 77: delete (Akonadi::StandardActionManager*)xself;	break;
    }
}
class x_Akonadi__StatisticsProxyModel : public Akonadi::StatisticsProxyModel, 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<Akonadi::StatisticsProxyModel*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__StatisticsProxyModel*)this)->Akonadi::StatisticsProxyModel::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__StatisticsProxyModel*)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<Akonadi::StatisticsProxyModel*>(this))) {
            void* xret = this->Akonadi::StatisticsProxyModel::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 = Akonadi::StatisticsProxyModel::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 = Akonadi::StatisticsProxyModel::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 = Akonadi::StatisticsProxyModel::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 = Akonadi::StatisticsProxyModel::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<Akonadi::StatisticsProxyModel*>(this))) {
            int xret = this->Akonadi::StatisticsProxyModel::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) {
        // Akonadi::StatisticsProxyModel* StatisticsProxyModel(QObject*)
        x_Akonadi__StatisticsProxyModel* xret = new x_Akonadi__StatisticsProxyModel((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__StatisticsProxyModel(QObject* x1) : StatisticsProxyModel(x1) {}
    void x_9(Smoke::Stack x) {
        // void setToolTipEnabled(bool)
        this->Akonadi::StatisticsProxyModel::setToolTipEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // bool isToolTipEnabled() const
        bool xret = ((const x_Akonadi__StatisticsProxyModel*)this)->Akonadi::StatisticsProxyModel::isToolTipEnabled();
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // void setExtraColumnsEnabled(bool)
        this->Akonadi::StatisticsProxyModel::setExtraColumnsEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // bool isExtraColumnsEnabled() const
        bool xret = ((const x_Akonadi__StatisticsProxyModel*)this)->Akonadi::StatisticsProxyModel::isExtraColumnsEnabled();
        x[0].s_bool = xret;
    }
    void x_13(Smoke::Stack x) {
        // virtual QModelIndex index(int, int, const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::StatisticsProxyModel*>(this))) {
            QModelIndex xret = ((const x_Akonadi__StatisticsProxyModel*)this)->Akonadi::StatisticsProxyModel::index((int)x[1].s_int,(int)x[2].s_int,*(const QModelIndex*)x[3].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        } else {
            QModelIndex xret = ((const x_Akonadi__StatisticsProxyModel*)this)->index((int)x[1].s_int,(int)x[2].s_int,*(const QModelIndex*)x[3].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        }
    }
    void x_14(Smoke::Stack x) {
        // virtual QVariant data(const QModelIndex&, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::StatisticsProxyModel*>(this))) {
            QVariant xret = ((const x_Akonadi__StatisticsProxyModel*)this)->Akonadi::StatisticsProxyModel::data(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = ((const x_Akonadi__StatisticsProxyModel*)this)->data(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_15(Smoke::Stack x) {
        // virtual QVariant headerData(int, Qt::Orientation, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::StatisticsProxyModel*>(this))) {
            QVariant xret = ((const x_Akonadi__StatisticsProxyModel*)this)->Akonadi::StatisticsProxyModel::headerData((int)x[1].s_int,(Qt::Orientation)x[2].s_enum,(int)x[3].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = ((const x_Akonadi__StatisticsProxyModel*)this)->headerData((int)x[1].s_int,(Qt::Orientation)x[2].s_enum,(int)x[3].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_16(Smoke::Stack x) {
        // virtual QFlags<Qt::ItemFlag> flags(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::StatisticsProxyModel*>(this))) {
            QFlags<Qt::ItemFlag> xret = ((const x_Akonadi__StatisticsProxyModel*)this)->Akonadi::StatisticsProxyModel::flags(*(const QModelIndex*)x[1].s_class);
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<Qt::ItemFlag> xret = ((const x_Akonadi__StatisticsProxyModel*)this)->flags(*(const QModelIndex*)x[1].s_class);
            x[0].s_uint = (uint)xret;
        }
    }
    void x_17(Smoke::Stack x) {
        // virtual int columnCount(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::StatisticsProxyModel*>(this))) {
            int xret = ((const x_Akonadi__StatisticsProxyModel*)this)->Akonadi::StatisticsProxyModel::columnCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_Akonadi__StatisticsProxyModel*)this)->columnCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        }
    }
    void x_18(Smoke::Stack x) {
        // virtual QList<QModelIndex> match(const QModelIndex&, int, const QVariant&, int, QFlags<Qt::MatchFlag>) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::StatisticsProxyModel*>(this))) {
            QList<QModelIndex> xret = ((const x_Akonadi__StatisticsProxyModel*)this)->Akonadi::StatisticsProxyModel::match(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,*(const QVariant*)x[3].s_class,(int)x[4].s_int,(QFlags<Qt::MatchFlag>)x[5].s_uint);
            x[0].s_class = (void*)new QList<QModelIndex>(xret);
        } else {
            QList<QModelIndex> xret = ((const x_Akonadi__StatisticsProxyModel*)this)->match(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,*(const QVariant*)x[3].s_class,(int)x[4].s_int,(QFlags<Qt::MatchFlag>)x[5].s_uint);
            x[0].s_class = (void*)new QList<QModelIndex>(xret);
        }
    }
    void x_19(Smoke::Stack x) {
        // virtual void setSourceModel(QAbstractItemModel*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::StatisticsProxyModel*>(this))) {
            this->Akonadi::StatisticsProxyModel::setSourceModel((QAbstractItemModel*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setSourceModel((QAbstractItemModel*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_20(Smoke::Stack x) {
        // virtual void connectNotify(const char*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::StatisticsProxyModel*>(this))) {
            this->Akonadi::StatisticsProxyModel::connectNotify((const char*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->connectNotify((const char*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_21(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::StatisticsProxyModel::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_22(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::StatisticsProxyModel::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_23(Smoke::Stack x) {
        // Akonadi::StatisticsProxyModel* StatisticsProxyModel()
        x_Akonadi__StatisticsProxyModel* xret = new x_Akonadi__StatisticsProxyModel((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_24(Smoke::Stack x) {
        // QModelIndex index(int, int) const
        QModelIndex xret = ((const x_Akonadi__StatisticsProxyModel*)this)->Akonadi::StatisticsProxyModel::index((int)x[1].s_int,(int)x[2].s_int,(const QModelIndex&)QModelIndex());
        x[0].s_class = (void*)new QModelIndex(xret);
    }
    void x_25(Smoke::Stack x) {
        // QVariant data(const QModelIndex&) const
        QVariant xret = ((const x_Akonadi__StatisticsProxyModel*)this)->Akonadi::StatisticsProxyModel::data(*(const QModelIndex*)x[1].s_class,(int)Qt::DisplayRole);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_26(Smoke::Stack x) {
        // QVariant headerData(int, Qt::Orientation) const
        QVariant xret = ((const x_Akonadi__StatisticsProxyModel*)this)->Akonadi::StatisticsProxyModel::headerData((int)x[1].s_int,(Qt::Orientation)x[2].s_enum,(int)Qt::DisplayRole);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_27(Smoke::Stack x) {
        // int columnCount() const
        int xret = ((const x_Akonadi__StatisticsProxyModel*)this)->Akonadi::StatisticsProxyModel::columnCount((const QModelIndex&)QModelIndex());
        x[0].s_int = xret;
    }
    void x_28(Smoke::Stack x) {
        // QList<QModelIndex> match(const QModelIndex&, int, const QVariant&) const
        QList<QModelIndex> xret = ((const x_Akonadi__StatisticsProxyModel*)this)->Akonadi::StatisticsProxyModel::match(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,*(const QVariant*)x[3].s_class,(int)1,(QFlags<Qt::MatchFlag>)Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap));
        x[0].s_class = (void*)new QList<QModelIndex>(xret);
    }
    void x_29(Smoke::Stack x) {
        // QList<QModelIndex> match(const QModelIndex&, int, const QVariant&, int) const
        QList<QModelIndex> xret = ((const x_Akonadi__StatisticsProxyModel*)this)->Akonadi::StatisticsProxyModel::match(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,*(const QVariant*)x[3].s_class,(int)x[4].s_int,(QFlags<Qt::MatchFlag>)Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap));
        x[0].s_class = (void*)new QList<QModelIndex>(xret);
    }
    static void x_30(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::StatisticsProxyModel::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2367, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::StatisticsProxyModel::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2368, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::StatisticsProxyModel::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(2373, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::StatisticsProxyModel::qt_metacall(x1, x2, x3);
    }
    virtual QModelIndex index(int x1, int x2, const QModelIndex& x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2379, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::StatisticsProxyModel::index(x1, x2, x3);
    }
    virtual QVariant data(const QModelIndex& x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(2380, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::StatisticsProxyModel::data(x1, x2);
    }
    virtual QVariant headerData(int x1, Qt::Orientation x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(2381, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::StatisticsProxyModel::headerData(x1, x2, x3);
    }
    virtual QFlags<Qt::ItemFlag> flags(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2382, (void*)this, x)) return (QFlags<Qt::ItemFlag>)x[0].s_uint;
        return this->Akonadi::StatisticsProxyModel::flags(x1);
    }
    virtual int columnCount(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2383, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::StatisticsProxyModel::columnCount(x1);
    }
    virtual QList<QModelIndex> match(const QModelIndex& x1, int x2, const QVariant& x3, int x4, QFlags<Qt::MatchFlag> x5) const {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        x[4].s_int = x4;
        x[5].s_uint = (uint)x5;
        if (this->_binding->callMethod(2384, (void*)this, x)) {
            QList<QModelIndex>* xptr = (QList<QModelIndex>*)x[0].s_class;
            QList<QModelIndex> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::StatisticsProxyModel::match(x1, x2, x3, x4, x5);
    }
    virtual void setSourceModel(QAbstractItemModel* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2385, (void*)this, x)) return;
        this->Akonadi::StatisticsProxyModel::setSourceModel(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2386, (void*)this, x)) return;
        this->Akonadi::StatisticsProxyModel::connectNotify(x1);
    }
    virtual bool filterAcceptsRow(int x1, const QModelIndex& x2) const {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(2698, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::filterAcceptsRow(x1, x2);
    }
    virtual bool filterAcceptsColumn(int x1, const QModelIndex& x2) const {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(2699, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::filterAcceptsColumn(x1, x2);
    }
    virtual bool lessThan(const QModelIndex& x1, const QModelIndex& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(2700, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::lessThan(x1, x2);
    }
    virtual QModelIndex mapToSource(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2694, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::mapToSource(x1);
    }
    virtual QModelIndex mapFromSource(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2695, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::mapFromSource(x1);
    }
    virtual QItemSelection mapSelectionToSource(const QItemSelection& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2696, (void*)this, x)) {
            QItemSelection* xptr = (QItemSelection*)x[0].s_class;
            QItemSelection xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::mapSelectionToSource(x1);
    }
    virtual QItemSelection mapSelectionFromSource(const QItemSelection& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2697, (void*)this, x)) {
            QItemSelection* xptr = (QItemSelection*)x[0].s_class;
            QItemSelection xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::mapSelectionFromSource(x1);
    }
    virtual QModelIndex parent(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2702, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::parent(x1);
    }
    virtual int rowCount(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2703, (void*)this, x)) return (int)x[0].s_int;
        return this->QSortFilterProxyModel::rowCount(x1);
    }
    virtual bool hasChildren(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2705, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::hasChildren(x1);
    }
    virtual bool setData(const QModelIndex& x1, const QVariant& x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(2707, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::setData(x1, x2, x3);
    }
    virtual bool setHeaderData(int x1, Qt::Orientation x2, const QVariant& x3, int x4) {
        Smoke::StackItem x[5];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_class = (void*)&x3;
        x[4].s_int = x4;
        if (this->_binding->callMethod(2709, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::setHeaderData(x1, x2, x3, x4);
    }
    virtual QMap<int,QVariant> itemData(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2615, (void*)this, x)) {
            QMap<int,QVariant>* xptr = (QMap<int,QVariant>*)x[0].s_class;
            QMap<int,QVariant> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractProxyModel::itemData(x1);
    }
    virtual bool setItemData(const QModelIndex& x1, const QMap<int,QVariant>& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(2618, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractProxyModel::setItemData(x1, x2);
    }
    virtual QStringList mimeTypes() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2723, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::mimeTypes();
    }
    virtual QMimeData* mimeData(const QList<QModelIndex>& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2710, (void*)this, x)) return (QMimeData*)x[0].s_class;
        return this->QSortFilterProxyModel::mimeData(x1);
    }
    virtual bool dropMimeData(const QMimeData* x1, Qt::DropAction x2, int x3, int x4, const QModelIndex& x5) {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        x[4].s_int = x4;
        x[5].s_class = (void*)&x5;
        if (this->_binding->callMethod(2711, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::dropMimeData(x1, x2, x3, x4, x5);
    }
    virtual QFlags<Qt::DropAction> supportedDropActions() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2724, (void*)this, x)) return (QFlags<Qt::DropAction>)x[0].s_uint;
        return this->QSortFilterProxyModel::supportedDropActions();
    }
    virtual bool insertRows(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2712, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::insertRows(x1, x2, x3);
    }
    virtual bool insertColumns(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2713, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::insertColumns(x1, x2, x3);
    }
    virtual bool removeRows(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2714, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::removeRows(x1, x2, x3);
    }
    virtual bool removeColumns(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2715, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::removeColumns(x1, x2, x3);
    }
    virtual void fetchMore(const QModelIndex& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2716, (void*)this, x)) return;
        this->QSortFilterProxyModel::fetchMore(x1);
    }
    virtual bool canFetchMore(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2717, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::canFetchMore(x1);
    }
    virtual void sort(int x1, Qt::SortOrder x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(2722, (void*)this, x)) return;
        this->QSortFilterProxyModel::sort(x1, x2);
    }
    virtual QModelIndex buddy(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2719, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::buddy(x1);
    }
    virtual QSize span(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2721, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::span(x1);
    }
    virtual bool submit() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2611, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractProxyModel::submit();
    }
    virtual void revert() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2612, (void*)this, x)) return;
        this->QAbstractProxyModel::revert();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (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(2687, (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(2688, (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(2689, (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(2690, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2692, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_Akonadi__StatisticsProxyModel() { this->_binding->deleted(111, (void*)this); }
};
void xcall_Akonadi__StatisticsProxyModel(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__StatisticsProxyModel *xself = (x_Akonadi__StatisticsProxyModel*)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_Akonadi__StatisticsProxyModel::x_3(args);	break;
        case 4: x_Akonadi__StatisticsProxyModel::x_4(args);	break;
        case 5: x_Akonadi__StatisticsProxyModel::x_5(args);	break;
        case 6: x_Akonadi__StatisticsProxyModel::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__StatisticsProxyModel::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: x_Akonadi__StatisticsProxyModel::x_21(args);	break;
        case 22: x_Akonadi__StatisticsProxyModel::x_22(args);	break;
        case 23: x_Akonadi__StatisticsProxyModel::x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: x_Akonadi__StatisticsProxyModel::x_30(args);	break;
        case 31: delete (Akonadi::StatisticsProxyModel*)xself;	break;
    }
}
class x_Akonadi__TransactionBeginJob : public Akonadi::TransactionBeginJob, 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<Akonadi::TransactionBeginJob*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__TransactionBeginJob*)this)->Akonadi::TransactionBeginJob::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__TransactionBeginJob*)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<Akonadi::TransactionBeginJob*>(this))) {
            void* xret = this->Akonadi::TransactionBeginJob::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 = Akonadi::TransactionBeginJob::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 = Akonadi::TransactionBeginJob::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 = Akonadi::TransactionBeginJob::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 = Akonadi::TransactionBeginJob::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<Akonadi::TransactionBeginJob*>(this))) {
            int xret = this->Akonadi::TransactionBeginJob::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) {
        // Akonadi::TransactionBeginJob* TransactionBeginJob(QObject*)
        x_Akonadi__TransactionBeginJob* xret = new x_Akonadi__TransactionBeginJob((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__TransactionBeginJob(QObject* x1) : TransactionBeginJob(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual void doStart()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::TransactionBeginJob*>(this))) {
            this->Akonadi::TransactionBeginJob::doStart();
            (void)x; // noop (for compiler warning)
        } else {
            this->doStart();
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_10(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::TransactionBeginJob::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_11(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::TransactionBeginJob::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_12(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::TransactionBeginJob::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2398, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::TransactionBeginJob::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2399, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::TransactionBeginJob::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(2404, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::TransactionBeginJob::qt_metacall(x1, x2, x3);
    }
    virtual void doStart() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2406, (void*)this, x)) return;
        this->Akonadi::TransactionBeginJob::doStart();
    }
    virtual QString errorString() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1847, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::Job::errorString();
    }
    virtual void doHandleResponse(const QByteArray& x1, const QByteArray& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1851, (void*)this, x)) return;
        this->Akonadi::Job::doHandleResponse(x1, x2);
    }
    virtual bool addSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1852, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::addSubjob(x1);
    }
    virtual bool removeSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1853, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::removeSubjob(x1);
    }
    virtual bool doKill() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1854, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::doKill();
    }
    virtual void slotResult(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1856, (void*)this, x)) return;
        this->Akonadi::Job::slotResult(x1);
    }
    virtual void slotInfoMessage(KJob* x1, const QString& x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2494, (void*)this, x)) return;
        this->KCompositeJob::slotInfoMessage(x1, x2, x3);
    }
    virtual void start() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1846, (void*)this, x)) return;
        this->Akonadi::Job::start();
    }
    virtual bool doSuspend() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2508, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doSuspend();
    }
    virtual bool doResume() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2509, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doResume();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (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(2687, (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(2688, (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(2689, (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(2690, (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(2691, (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(2692, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_Akonadi__TransactionBeginJob() { this->_binding->deleted(114, (void*)this); }
};
void xcall_Akonadi__TransactionBeginJob(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__TransactionBeginJob *xself = (x_Akonadi__TransactionBeginJob*)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_Akonadi__TransactionBeginJob::x_3(args);	break;
        case 4: x_Akonadi__TransactionBeginJob::x_4(args);	break;
        case 5: x_Akonadi__TransactionBeginJob::x_5(args);	break;
        case 6: x_Akonadi__TransactionBeginJob::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__TransactionBeginJob::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: x_Akonadi__TransactionBeginJob::x_10(args);	break;
        case 11: x_Akonadi__TransactionBeginJob::x_11(args);	break;
        case 12: x_Akonadi__TransactionBeginJob::x_12(args);	break;
        case 13: delete (Akonadi::TransactionBeginJob*)xself;	break;
    }
}
class x_Akonadi__TransactionCommitJob : public Akonadi::TransactionCommitJob, 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<Akonadi::TransactionCommitJob*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__TransactionCommitJob*)this)->Akonadi::TransactionCommitJob::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__TransactionCommitJob*)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<Akonadi::TransactionCommitJob*>(this))) {
            void* xret = this->Akonadi::TransactionCommitJob::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 = Akonadi::TransactionCommitJob::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 = Akonadi::TransactionCommitJob::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 = Akonadi::TransactionCommitJob::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 = Akonadi::TransactionCommitJob::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<Akonadi::TransactionCommitJob*>(this))) {
            int xret = this->Akonadi::TransactionCommitJob::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) {
        // Akonadi::TransactionCommitJob* TransactionCommitJob(QObject*)
        x_Akonadi__TransactionCommitJob* xret = new x_Akonadi__TransactionCommitJob((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__TransactionCommitJob(QObject* x1) : TransactionCommitJob(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual void doStart()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::TransactionCommitJob*>(this))) {
            this->Akonadi::TransactionCommitJob::doStart();
            (void)x; // noop (for compiler warning)
        } else {
            this->doStart();
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_10(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::TransactionCommitJob::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_11(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::TransactionCommitJob::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_12(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::TransactionCommitJob::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2411, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::TransactionCommitJob::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2412, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::TransactionCommitJob::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(2417, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::TransactionCommitJob::qt_metacall(x1, x2, x3);
    }
    virtual void doStart() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2419, (void*)this, x)) return;
        this->Akonadi::TransactionCommitJob::doStart();
    }
    virtual QString errorString() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1847, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::Job::errorString();
    }
    virtual void doHandleResponse(const QByteArray& x1, const QByteArray& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1851, (void*)this, x)) return;
        this->Akonadi::Job::doHandleResponse(x1, x2);
    }
    virtual bool addSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1852, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::addSubjob(x1);
    }
    virtual bool removeSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1853, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::removeSubjob(x1);
    }
    virtual bool doKill() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1854, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::doKill();
    }
    virtual void slotResult(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1856, (void*)this, x)) return;
        this->Akonadi::Job::slotResult(x1);
    }
    virtual void slotInfoMessage(KJob* x1, const QString& x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2494, (void*)this, x)) return;
        this->KCompositeJob::slotInfoMessage(x1, x2, x3);
    }
    virtual void start() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1846, (void*)this, x)) return;
        this->Akonadi::Job::start();
    }
    virtual bool doSuspend() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2508, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doSuspend();
    }
    virtual bool doResume() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2509, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doResume();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (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(2687, (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(2688, (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(2689, (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(2690, (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(2691, (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(2692, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_Akonadi__TransactionCommitJob() { this->_binding->deleted(115, (void*)this); }
};
void xcall_Akonadi__TransactionCommitJob(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__TransactionCommitJob *xself = (x_Akonadi__TransactionCommitJob*)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_Akonadi__TransactionCommitJob::x_3(args);	break;
        case 4: x_Akonadi__TransactionCommitJob::x_4(args);	break;
        case 5: x_Akonadi__TransactionCommitJob::x_5(args);	break;
        case 6: x_Akonadi__TransactionCommitJob::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__TransactionCommitJob::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: x_Akonadi__TransactionCommitJob::x_10(args);	break;
        case 11: x_Akonadi__TransactionCommitJob::x_11(args);	break;
        case 12: x_Akonadi__TransactionCommitJob::x_12(args);	break;
        case 13: delete (Akonadi::TransactionCommitJob*)xself;	break;
    }
}
class x_Akonadi__TransactionRollbackJob : public Akonadi::TransactionRollbackJob, 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<Akonadi::TransactionRollbackJob*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__TransactionRollbackJob*)this)->Akonadi::TransactionRollbackJob::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__TransactionRollbackJob*)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<Akonadi::TransactionRollbackJob*>(this))) {
            void* xret = this->Akonadi::TransactionRollbackJob::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 = Akonadi::TransactionRollbackJob::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 = Akonadi::TransactionRollbackJob::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 = Akonadi::TransactionRollbackJob::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 = Akonadi::TransactionRollbackJob::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<Akonadi::TransactionRollbackJob*>(this))) {
            int xret = this->Akonadi::TransactionRollbackJob::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) {
        // Akonadi::TransactionRollbackJob* TransactionRollbackJob(QObject*)
        x_Akonadi__TransactionRollbackJob* xret = new x_Akonadi__TransactionRollbackJob((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__TransactionRollbackJob(QObject* x1) : TransactionRollbackJob(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual void doStart()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::TransactionRollbackJob*>(this))) {
            this->Akonadi::TransactionRollbackJob::doStart();
            (void)x; // noop (for compiler warning)
        } else {
            this->doStart();
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_10(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::TransactionRollbackJob::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_11(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::TransactionRollbackJob::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_12(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::TransactionRollbackJob::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2424, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::TransactionRollbackJob::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2425, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::TransactionRollbackJob::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(2430, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::TransactionRollbackJob::qt_metacall(x1, x2, x3);
    }
    virtual void doStart() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2432, (void*)this, x)) return;
        this->Akonadi::TransactionRollbackJob::doStart();
    }
    virtual QString errorString() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1847, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::Job::errorString();
    }
    virtual void doHandleResponse(const QByteArray& x1, const QByteArray& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1851, (void*)this, x)) return;
        this->Akonadi::Job::doHandleResponse(x1, x2);
    }
    virtual bool addSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1852, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::addSubjob(x1);
    }
    virtual bool removeSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1853, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::removeSubjob(x1);
    }
    virtual bool doKill() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1854, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::doKill();
    }
    virtual void slotResult(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1856, (void*)this, x)) return;
        this->Akonadi::Job::slotResult(x1);
    }
    virtual void slotInfoMessage(KJob* x1, const QString& x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2494, (void*)this, x)) return;
        this->KCompositeJob::slotInfoMessage(x1, x2, x3);
    }
    virtual void start() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1846, (void*)this, x)) return;
        this->Akonadi::Job::start();
    }
    virtual bool doSuspend() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2508, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doSuspend();
    }
    virtual bool doResume() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2509, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doResume();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (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(2687, (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(2688, (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(2689, (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(2690, (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(2691, (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(2692, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_Akonadi__TransactionRollbackJob() { this->_binding->deleted(116, (void*)this); }
};
void xcall_Akonadi__TransactionRollbackJob(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__TransactionRollbackJob *xself = (x_Akonadi__TransactionRollbackJob*)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_Akonadi__TransactionRollbackJob::x_3(args);	break;
        case 4: x_Akonadi__TransactionRollbackJob::x_4(args);	break;
        case 5: x_Akonadi__TransactionRollbackJob::x_5(args);	break;
        case 6: x_Akonadi__TransactionRollbackJob::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__TransactionRollbackJob::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: x_Akonadi__TransactionRollbackJob::x_10(args);	break;
        case 11: x_Akonadi__TransactionRollbackJob::x_11(args);	break;
        case 12: x_Akonadi__TransactionRollbackJob::x_12(args);	break;
        case 13: delete (Akonadi::TransactionRollbackJob*)xself;	break;
    }
}
class x_Akonadi__TransactionSequence : public Akonadi::TransactionSequence, 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<Akonadi::TransactionSequence*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__TransactionSequence*)this)->Akonadi::TransactionSequence::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__TransactionSequence*)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<Akonadi::TransactionSequence*>(this))) {
            void* xret = this->Akonadi::TransactionSequence::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 = Akonadi::TransactionSequence::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 = Akonadi::TransactionSequence::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 = Akonadi::TransactionSequence::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 = Akonadi::TransactionSequence::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<Akonadi::TransactionSequence*>(this))) {
            int xret = this->Akonadi::TransactionSequence::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) {
        // Akonadi::TransactionSequence* TransactionSequence(QObject*)
        x_Akonadi__TransactionSequence* xret = new x_Akonadi__TransactionSequence((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__TransactionSequence(QObject* x1) : TransactionSequence(x1) {}
    void x_9(Smoke::Stack x) {
        // void commit()
        this->Akonadi::TransactionSequence::commit();
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // void rollback()
        this->Akonadi::TransactionSequence::rollback();
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void setIgnoreJobFailure(KJob*)
        this->Akonadi::TransactionSequence::setIgnoreJobFailure((KJob*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void setAutomaticCommittingEnabled(bool)
        this->Akonadi::TransactionSequence::setAutomaticCommittingEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // bool addSubjob(KJob*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::TransactionSequence*>(this))) {
            bool xret = this->Akonadi::TransactionSequence::addSubjob((KJob*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->addSubjob((KJob*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_14(Smoke::Stack x) {
        // void doStart()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::TransactionSequence*>(this))) {
            this->Akonadi::TransactionSequence::doStart();
            (void)x; // noop (for compiler warning)
        } else {
            this->doStart();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_15(Smoke::Stack x) {
        // void slotResult(KJob*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::TransactionSequence*>(this))) {
            this->Akonadi::TransactionSequence::slotResult((KJob*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->slotResult((KJob*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_16(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::TransactionSequence::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_17(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::TransactionSequence::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_18(Smoke::Stack x) {
        // Akonadi::TransactionSequence* TransactionSequence()
        x_Akonadi__TransactionSequence* xret = new x_Akonadi__TransactionSequence((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_19(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::TransactionSequence::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2437, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::TransactionSequence::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2438, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::TransactionSequence::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(2443, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::TransactionSequence::qt_metacall(x1, x2, x3);
    }
    virtual QString errorString() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1847, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::Job::errorString();
    }
    virtual void doStart() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2450, (void*)this, x)) return;
        this->Akonadi::TransactionSequence::doStart();
    }
    virtual void doHandleResponse(const QByteArray& x1, const QByteArray& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1851, (void*)this, x)) return;
        this->Akonadi::Job::doHandleResponse(x1, x2);
    }
    virtual bool addSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2449, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::TransactionSequence::addSubjob(x1);
    }
    virtual bool removeSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1853, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::removeSubjob(x1);
    }
    virtual bool doKill() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1854, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::doKill();
    }
    virtual void slotResult(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2451, (void*)this, x)) return;
        this->Akonadi::TransactionSequence::slotResult(x1);
    }
    virtual void slotInfoMessage(KJob* x1, const QString& x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2494, (void*)this, x)) return;
        this->KCompositeJob::slotInfoMessage(x1, x2, x3);
    }
    virtual void start() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1846, (void*)this, x)) return;
        this->Akonadi::Job::start();
    }
    virtual bool doSuspend() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2508, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doSuspend();
    }
    virtual bool doResume() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2509, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doResume();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (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(2687, (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(2688, (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(2689, (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(2690, (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(2691, (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(2692, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_Akonadi__TransactionSequence() { this->_binding->deleted(117, (void*)this); }
};
void xcall_Akonadi__TransactionSequence(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__TransactionSequence *xself = (x_Akonadi__TransactionSequence*)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_Akonadi__TransactionSequence::x_3(args);	break;
        case 4: x_Akonadi__TransactionSequence::x_4(args);	break;
        case 5: x_Akonadi__TransactionSequence::x_5(args);	break;
        case 6: x_Akonadi__TransactionSequence::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__TransactionSequence::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: x_Akonadi__TransactionSequence::x_16(args);	break;
        case 17: x_Akonadi__TransactionSequence::x_17(args);	break;
        case 18: x_Akonadi__TransactionSequence::x_18(args);	break;
        case 19: x_Akonadi__TransactionSequence::x_19(args);	break;
        case 20: delete (Akonadi::TransactionSequence*)xself;	break;
    }
}
class x_Akonadi__TransportResourceBase : public Akonadi::TransportResourceBase, 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) {
        // Akonadi::TransportResourceBase* TransportResourceBase()
        x_Akonadi__TransportResourceBase* xret = new x_Akonadi__TransportResourceBase();
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__TransportResourceBase() : TransportResourceBase() {}
    void x_2(Smoke::Stack x) {
        // virtual void sendItem(const Akonadi::Item&) = 0
        this->sendItem(*(const Akonadi::Item*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_3(Smoke::Stack x) {
        // void itemSent(const Akonadi::Item&, Akonadi::TransportResourceBase::TransportResult, const QString&)
        this->Akonadi::TransportResourceBase::itemSent(*(const Akonadi::Item*)x[1].s_class,(Akonadi::TransportResourceBase::TransportResult)x[2].s_enum,*(const QString*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_4(Smoke::Stack x) {
        // Akonadi::TransportResourceBase* TransportResourceBase(const Akonadi::TransportResourceBase&)
        x_Akonadi__TransportResourceBase* xret = new x_Akonadi__TransportResourceBase(*(const Akonadi::TransportResourceBase*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__TransportResourceBase(const Akonadi::TransportResourceBase& x1) : TransportResourceBase(x1) {}
    void x_5(Smoke::Stack x) {
        // void itemSent(const Akonadi::Item&, Akonadi::TransportResourceBase::TransportResult)
        this->Akonadi::TransportResourceBase::itemSent(*(const Akonadi::Item*)x[1].s_class,(Akonadi::TransportResourceBase::TransportResult)x[2].s_enum,(const QString&)QString());
        (void)x; // noop (for compiler warning)
    }
    static void x_6(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::TransportResourceBase::TransportSucceeded;
    }
    static void x_7(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::TransportResourceBase::TransportFailed;
    }
    virtual void sendItem(const Akonadi::Item& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(2458, (void*)this, x, true /*pure virtual*/);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 188: //Akonadi::TransportResourceBase::TransportResult
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::TransportResourceBase::TransportResult;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::TransportResourceBase::TransportResult*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::TransportResourceBase::TransportResult*)xdata = (Akonadi::TransportResourceBase::TransportResult)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::TransportResourceBase::TransportResult*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_Akonadi__TransportResourceBase() { this->_binding->deleted(118, (void*)this); }
};
void xenum_Akonadi__TransportResourceBase(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Akonadi__TransportResourceBase::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Akonadi__TransportResourceBase(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__TransportResourceBase *xself = (x_Akonadi__TransportResourceBase*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Akonadi__TransportResourceBase::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: x_Akonadi__TransportResourceBase::x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: x_Akonadi__TransportResourceBase::x_6(args);	break;
        case 7: x_Akonadi__TransportResourceBase::x_7(args);	break;
        case 8: delete (Akonadi::TransportResourceBase*)xself;	break;
    }
}
class x_Akonadi__UnlinkJob : public Akonadi::UnlinkJob, 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<Akonadi::UnlinkJob*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__UnlinkJob*)this)->Akonadi::UnlinkJob::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__UnlinkJob*)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<Akonadi::UnlinkJob*>(this))) {
            void* xret = this->Akonadi::UnlinkJob::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 = Akonadi::UnlinkJob::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 = Akonadi::UnlinkJob::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 = Akonadi::UnlinkJob::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 = Akonadi::UnlinkJob::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<Akonadi::UnlinkJob*>(this))) {
            int xret = this->Akonadi::UnlinkJob::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) {
        // Akonadi::UnlinkJob* UnlinkJob(const Akonadi::Collection&, const QList<Akonadi::Item>&, QObject*)
        x_Akonadi__UnlinkJob* xret = new x_Akonadi__UnlinkJob(*(const Akonadi::Collection*)x[1].s_class,*(const QList<Akonadi::Item>*)x[2].s_class,(QObject*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__UnlinkJob(const Akonadi::Collection& x1, const QList<Akonadi::Item>& x2, QObject* x3) : UnlinkJob(x1, x2, x3) {}
    void x_9(Smoke::Stack x) {
        // void doStart()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::UnlinkJob*>(this))) {
            this->Akonadi::UnlinkJob::doStart();
            (void)x; // noop (for compiler warning)
        } else {
            this->doStart();
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_10(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::UnlinkJob::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_11(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::UnlinkJob::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_12(Smoke::Stack x) {
        // Akonadi::UnlinkJob* UnlinkJob(const Akonadi::Collection&, const QList<Akonadi::Item>&)
        x_Akonadi__UnlinkJob* xret = new x_Akonadi__UnlinkJob(*(const Akonadi::Collection*)x[1].s_class,*(const QList<Akonadi::Item>*)x[2].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_13(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::UnlinkJob::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2465, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::UnlinkJob::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2466, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::UnlinkJob::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(2471, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::UnlinkJob::qt_metacall(x1, x2, x3);
    }
    virtual QString errorString() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1847, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::Job::errorString();
    }
    virtual void doStart() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2473, (void*)this, x)) return;
        this->Akonadi::UnlinkJob::doStart();
    }
    virtual void doHandleResponse(const QByteArray& x1, const QByteArray& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1851, (void*)this, x)) return;
        this->Akonadi::Job::doHandleResponse(x1, x2);
    }
    virtual bool addSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1852, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::addSubjob(x1);
    }
    virtual bool removeSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1853, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::removeSubjob(x1);
    }
    virtual bool doKill() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1854, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::doKill();
    }
    virtual void slotResult(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1856, (void*)this, x)) return;
        this->Akonadi::Job::slotResult(x1);
    }
    virtual void slotInfoMessage(KJob* x1, const QString& x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2494, (void*)this, x)) return;
        this->KCompositeJob::slotInfoMessage(x1, x2, x3);
    }
    virtual void start() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1846, (void*)this, x)) return;
        this->Akonadi::Job::start();
    }
    virtual bool doSuspend() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2508, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doSuspend();
    }
    virtual bool doResume() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2509, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doResume();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (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(2687, (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(2688, (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(2689, (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(2690, (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(2691, (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(2692, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_Akonadi__UnlinkJob() { this->_binding->deleted(119, (void*)this); }
};
void xcall_Akonadi__UnlinkJob(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__UnlinkJob *xself = (x_Akonadi__UnlinkJob*)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_Akonadi__UnlinkJob::x_3(args);	break;
        case 4: x_Akonadi__UnlinkJob::x_4(args);	break;
        case 5: x_Akonadi__UnlinkJob::x_5(args);	break;
        case 6: x_Akonadi__UnlinkJob::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__UnlinkJob::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: x_Akonadi__UnlinkJob::x_10(args);	break;
        case 11: x_Akonadi__UnlinkJob::x_11(args);	break;
        case 12: x_Akonadi__UnlinkJob::x_12(args);	break;
        case 13: x_Akonadi__UnlinkJob::x_13(args);	break;
        case 14: delete (Akonadi::UnlinkJob*)xself;	break;
    }
}
class x_QGlobalSpace {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    ~x_QGlobalSpace() { this->_binding->deleted(175, (void*)this); }
};
void xcall_QGlobalSpace(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QGlobalSpace *xself = (x_QGlobalSpace*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
    }
}

}
