//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__AddressAttribute : public Akonadi::AddressAttribute, 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::AddressAttribute* AddressAttribute(const QString&, const QStringList&, const QStringList&, const QStringList&)
        x_Akonadi__AddressAttribute* xret = new x_Akonadi__AddressAttribute(*(const QString*)x[1].s_class,*(const QStringList*)x[2].s_class,*(const QStringList*)x[3].s_class,*(const QStringList*)x[4].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AddressAttribute(const QString& x1, const QStringList& x2, const QStringList& x3, const QStringList& x4) : AddressAttribute(x1, x2, x3, x4) {}
    void x_2(Smoke::Stack x) {
        // virtual Akonadi::AddressAttribute* clone() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AddressAttribute*>(this))) {
            Akonadi::AddressAttribute* xret = ((const x_Akonadi__AddressAttribute*)this)->Akonadi::AddressAttribute::clone();
            x[0].s_class = (void*)xret;
        } else {
            Akonadi::AddressAttribute* xret = ((const x_Akonadi__AddressAttribute*)this)->clone();
            x[0].s_class = (void*)xret;
        }
    }
    void x_3(Smoke::Stack x) {
        // virtual QByteArray type() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AddressAttribute*>(this))) {
            QByteArray xret = ((const x_Akonadi__AddressAttribute*)this)->Akonadi::AddressAttribute::type();
            x[0].s_class = (void*)new QByteArray(xret);
        } else {
            QByteArray xret = ((const x_Akonadi__AddressAttribute*)this)->type();
            x[0].s_class = (void*)new QByteArray(xret);
        }
    }
    void x_4(Smoke::Stack x) {
        // virtual QByteArray serialized() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AddressAttribute*>(this))) {
            QByteArray xret = ((const x_Akonadi__AddressAttribute*)this)->Akonadi::AddressAttribute::serialized();
            x[0].s_class = (void*)new QByteArray(xret);
        } else {
            QByteArray xret = ((const x_Akonadi__AddressAttribute*)this)->serialized();
            x[0].s_class = (void*)new QByteArray(xret);
        }
    }
    void x_5(Smoke::Stack x) {
        // virtual void deserialize(const QByteArray&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AddressAttribute*>(this))) {
            this->Akonadi::AddressAttribute::deserialize(*(const QByteArray*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->deserialize(*(const QByteArray*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_6(Smoke::Stack x) {
        // QString from() const
        QString xret = ((const x_Akonadi__AddressAttribute*)this)->Akonadi::AddressAttribute::from();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // void setFrom(const QString&)
        this->Akonadi::AddressAttribute::setFrom(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // QStringList to() const
        QStringList xret = ((const x_Akonadi__AddressAttribute*)this)->Akonadi::AddressAttribute::to();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_9(Smoke::Stack x) {
        // void setTo(const QStringList&)
        this->Akonadi::AddressAttribute::setTo(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // QStringList cc() const
        QStringList xret = ((const x_Akonadi__AddressAttribute*)this)->Akonadi::AddressAttribute::cc();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_11(Smoke::Stack x) {
        // void setCc(const QStringList&)
        this->Akonadi::AddressAttribute::setCc(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // QStringList bcc() const
        QStringList xret = ((const x_Akonadi__AddressAttribute*)this)->Akonadi::AddressAttribute::bcc();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_13(Smoke::Stack x) {
        // void setBcc(const QStringList&)
        this->Akonadi::AddressAttribute::setBcc(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_14(Smoke::Stack x) {
        // Akonadi::AddressAttribute* AddressAttribute(const Akonadi::AddressAttribute&)
        x_Akonadi__AddressAttribute* xret = new x_Akonadi__AddressAttribute(*(const Akonadi::AddressAttribute*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AddressAttribute(const Akonadi::AddressAttribute& x1) : AddressAttribute(x1) {}
    static void x_15(Smoke::Stack x) {
        // Akonadi::AddressAttribute* AddressAttribute()
        x_Akonadi__AddressAttribute* xret = new x_Akonadi__AddressAttribute((const QString&)QString(),(const QStringList&)QStringList(),(const QStringList&)QStringList(),(const QStringList&)QStringList());
        x[0].s_class = (void*)xret;
    }
    static void x_16(Smoke::Stack x) {
        // Akonadi::AddressAttribute* AddressAttribute(const QString&)
        x_Akonadi__AddressAttribute* xret = new x_Akonadi__AddressAttribute(*(const QString*)x[1].s_class,(const QStringList&)QStringList(),(const QStringList&)QStringList(),(const QStringList&)QStringList());
        x[0].s_class = (void*)xret;
    }
    static void x_17(Smoke::Stack x) {
        // Akonadi::AddressAttribute* AddressAttribute(const QString&, const QStringList&)
        x_Akonadi__AddressAttribute* xret = new x_Akonadi__AddressAttribute(*(const QString*)x[1].s_class,*(const QStringList*)x[2].s_class,(const QStringList&)QStringList(),(const QStringList&)QStringList());
        x[0].s_class = (void*)xret;
    }
    static void x_18(Smoke::Stack x) {
        // Akonadi::AddressAttribute* AddressAttribute(const QString&, const QStringList&, const QStringList&)
        x_Akonadi__AddressAttribute* xret = new x_Akonadi__AddressAttribute(*(const QString*)x[1].s_class,*(const QStringList*)x[2].s_class,*(const QStringList*)x[3].s_class,(const QStringList&)QStringList());
        x[0].s_class = (void*)xret;
    }
    virtual Akonadi::AddressAttribute* clone() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2, (void*)this, x)) return (Akonadi::AddressAttribute*)x[0].s_class;
        return this->Akonadi::AddressAttribute::clone();
    }
    virtual QByteArray type() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(3, (void*)this, x)) {
            QByteArray* xptr = (QByteArray*)x[0].s_class;
            QByteArray xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::AddressAttribute::type();
    }
    virtual QByteArray serialized() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(4, (void*)this, x)) {
            QByteArray* xptr = (QByteArray*)x[0].s_class;
            QByteArray xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::AddressAttribute::serialized();
    }
    virtual void deserialize(const QByteArray& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(5, (void*)this, x)) return;
        this->Akonadi::AddressAttribute::deserialize(x1);
    }
    ~x_Akonadi__AddressAttribute() { this->_binding->deleted(4, (void*)this); }
};
void xcall_Akonadi__AddressAttribute(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__AddressAttribute *xself = (x_Akonadi__AddressAttribute*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Akonadi__AddressAttribute::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: x_Akonadi__AddressAttribute::x_14(args);	break;
        case 15: x_Akonadi__AddressAttribute::x_15(args);	break;
        case 16: x_Akonadi__AddressAttribute::x_16(args);	break;
        case 17: x_Akonadi__AddressAttribute::x_17(args);	break;
        case 18: x_Akonadi__AddressAttribute::x_18(args);	break;
        case 19: delete (Akonadi::AddressAttribute*)xself;	break;
    }
}
class x_Akonadi__AgentBase : public Akonadi::AgentBase {
    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::AgentBase*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__AgentBase*)this)->Akonadi::AgentBase::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__AgentBase*)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::AgentBase*>(this))) {
            void* xret = this->Akonadi::AgentBase::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::AgentBase::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::AgentBase::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::AgentBase::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::AgentBase::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::AgentBase*>(this))) {
            int xret = this->Akonadi::AgentBase::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 int status() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase*>(this))) {
            int xret = ((const x_Akonadi__AgentBase*)this)->Akonadi::AgentBase::status();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_Akonadi__AgentBase*)this)->status();
            x[0].s_int = xret;
        }
    }
    void x_9(Smoke::Stack x) {
        // virtual QString statusMessage() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase*>(this))) {
            QString xret = ((const x_Akonadi__AgentBase*)this)->Akonadi::AgentBase::statusMessage();
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_Akonadi__AgentBase*)this)->statusMessage();
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_10(Smoke::Stack x) {
        // virtual int progress() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase*>(this))) {
            int xret = ((const x_Akonadi__AgentBase*)this)->Akonadi::AgentBase::progress();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_Akonadi__AgentBase*)this)->progress();
            x[0].s_int = xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // virtual QString progressMessage() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase*>(this))) {
            QString xret = ((const x_Akonadi__AgentBase*)this)->Akonadi::AgentBase::progressMessage();
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_Akonadi__AgentBase*)this)->progressMessage();
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_12(Smoke::Stack x) {
        // virtual void configure(WId)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase*>(this))) {
            this->Akonadi::AgentBase::configure((WId)x[1].s_ulong);
            (void)x; // noop (for compiler warning)
        } else {
            this->configure((WId)x[1].s_ulong);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_13(Smoke::Stack x) {
        // unsigned long winIdForDialogs() const
        unsigned long xret = ((const x_Akonadi__AgentBase*)this)->Akonadi::AgentBase::winIdForDialogs();
        x[0].s_ulong = xret;
    }
    void x_14(Smoke::Stack x) {
        // QString identifier() const
        QString xret = ((const x_Akonadi__AgentBase*)this)->Akonadi::AgentBase::identifier();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_15(Smoke::Stack x) {
        // virtual void cleanup()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase*>(this))) {
            this->Akonadi::AgentBase::cleanup();
            (void)x; // noop (for compiler warning)
        } else {
            this->cleanup();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_16(Smoke::Stack x) {
        // void registerObserver(Akonadi::AgentBase::Observer*)
        this->Akonadi::AgentBase::registerObserver((Akonadi::AgentBase::Observer*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void setAgentName(const QString&)
        this->Akonadi::AgentBase::setAgentName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // QString agentName() const
        QString xret = ((const x_Akonadi__AgentBase*)this)->Akonadi::AgentBase::agentName();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_19(Smoke::Stack x) {
        // static KComponentData componentData()
        KComponentData xret = Akonadi::AgentBase::componentData();
        x[0].s_class = (void*)new KComponentData(xret);
    }
    void x_20(Smoke::Stack x) {
        // void agentNameChanged(const QString&)
        this->Akonadi::AgentBase::agentNameChanged(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // void status(int, const QString&)
        this->Akonadi::AgentBase::status((int)x[1].s_int,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // void percent(int)
        this->Akonadi::AgentBase::percent((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // void warning(const QString&)
        this->Akonadi::AgentBase::warning(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // void error(const QString&)
        this->Akonadi::AgentBase::error(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // void advancedStatus(const QVariantMap&)
        this->Akonadi::AgentBase::advancedStatus(*(const QVariantMap*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // void abortRequested()
        this->Akonadi::AgentBase::abortRequested();
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // void reloadConfiguration()
        this->Akonadi::AgentBase::reloadConfiguration();
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // void onlineChanged(bool)
        this->Akonadi::AgentBase::onlineChanged((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // void configurationDialogAccepted()
        this->Akonadi::AgentBase::configurationDialogAccepted();
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // void configurationDialogRejected()
        this->Akonadi::AgentBase::configurationDialogRejected();
        (void)x; // noop (for compiler warning)
    }
    static void x_31(Smoke::Stack x) {
        // Akonadi::AgentBase* AgentBase(const QString&)
        x_Akonadi__AgentBase* xret = new x_Akonadi__AgentBase(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AgentBase(const QString& x1) : AgentBase(x1) {}
    void x_32(Smoke::Stack x) {
        // virtual void aboutToQuit()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase*>(this))) {
            this->Akonadi::AgentBase::aboutToQuit();
            (void)x; // noop (for compiler warning)
        } else {
            this->aboutToQuit();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_33(Smoke::Stack x) {
        // Akonadi::ChangeRecorder* changeRecorder() const
        Akonadi::ChangeRecorder* xret = ((const x_Akonadi__AgentBase*)this)->Akonadi::AgentBase::changeRecorder();
        x[0].s_class = (void*)xret;
    }
    void x_34(Smoke::Stack x) {
        // KSharedPtr<KSharedConfig> config()
        KSharedPtr<KSharedConfig> xret = this->Akonadi::AgentBase::config();
        x[0].s_class = (void*)new KSharedPtr<KSharedConfig>(xret);
    }
    void x_35(Smoke::Stack x) {
        // void changeProcessed()
        this->Akonadi::AgentBase::changeProcessed();
        (void)x; // noop (for compiler warning)
    }
    void x_36(Smoke::Stack x) {
        // bool isOnline() const
        bool xret = ((const x_Akonadi__AgentBase*)this)->Akonadi::AgentBase::isOnline();
        x[0].s_bool = xret;
    }
    void x_37(Smoke::Stack x) {
        // void setNeedsNetwork(bool)
        this->Akonadi::AgentBase::setNeedsNetwork((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_38(Smoke::Stack x) {
        // void setOnline(bool)
        this->Akonadi::AgentBase::setOnline((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_39(Smoke::Stack x) {
        // void setTemporaryOffline(int)
        this->Akonadi::AgentBase::setTemporaryOffline((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    static void x_40(Smoke::Stack x) {
        // Akonadi::AgentBase* AgentBase(Akonadi::AgentBasePrivate*, const QString&)
        x_Akonadi__AgentBase* xret = new x_Akonadi__AgentBase((Akonadi::AgentBasePrivate*)x[1].s_class,*(const QString*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AgentBase(Akonadi::AgentBasePrivate* x1, const QString& x2) : AgentBase(x1, x2) {}
    void x_41(Smoke::Stack x) {
        // virtual void doSetOnline(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase*>(this))) {
            this->Akonadi::AgentBase::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)
        }
    }
    static void x_42(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::AgentBase::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_43(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::AgentBase::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_44(Smoke::Stack x) {
        // void status(int)
        this->Akonadi::AgentBase::status((int)x[1].s_int,(const QString&)QString());
        (void)x; // noop (for compiler warning)
    }
    void x_45(Smoke::Stack x) {
        // void setTemporaryOffline()
        this->Akonadi::AgentBase::setTemporaryOffline((int)300);
        (void)x; // noop (for compiler warning)
    }
    static void x_46(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::AgentBase::staticMetaObject;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentBase::Idle;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentBase::Running;
    }
    static void x_49(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentBase::Broken;
    }
    static void x_50(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentBase::NotConfigured;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(20, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::AgentBase::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(21, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::AgentBase::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(26, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::AgentBase::qt_metacall(x1, x2, x3);
    }
    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 8: //Akonadi::AgentBase::Status
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::AgentBase::Status;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::AgentBase::Status*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::AgentBase::Status*)xdata = (Akonadi::AgentBase::Status)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::AgentBase::Status*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_Akonadi__AgentBase() { this->_binding->deleted(5, (void*)this); }
};
void xenum_Akonadi__AgentBase(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Akonadi__AgentBase::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Akonadi__AgentBase(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__AgentBase *xself = (x_Akonadi__AgentBase*)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__AgentBase::x_3(args);	break;
        case 4: x_Akonadi__AgentBase::x_4(args);	break;
        case 5: x_Akonadi__AgentBase::x_5(args);	break;
        case 6: x_Akonadi__AgentBase::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: x_Akonadi__AgentBase::x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: x_Akonadi__AgentBase::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: x_Akonadi__AgentBase::x_40(args);	break;
        case 41: xself->x_41(args);	break;
        case 42: x_Akonadi__AgentBase::x_42(args);	break;
        case 43: x_Akonadi__AgentBase::x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: xself->x_45(args);	break;
        case 46: x_Akonadi__AgentBase::x_46(args);	break;
        case 47: x_Akonadi__AgentBase::x_47(args);	break;
        case 48: x_Akonadi__AgentBase::x_48(args);	break;
        case 49: x_Akonadi__AgentBase::x_49(args);	break;
        case 50: x_Akonadi__AgentBase::x_50(args);	break;
    }
}
class x_Akonadi__AgentBase__Observer : public Akonadi::AgentBase::Observer, 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::AgentBase::Observer* Observer()
        x_Akonadi__AgentBase__Observer* xret = new x_Akonadi__AgentBase__Observer();
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AgentBase__Observer() : Observer() {}
    void x_2(Smoke::Stack x) {
        // virtual void itemAdded(const Akonadi::Item&, const Akonadi::Collection&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase::Observer*>(this))) {
            this->Akonadi::AgentBase::Observer::itemAdded(*(const Akonadi::Item*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->itemAdded(*(const Akonadi::Item*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_3(Smoke::Stack x) {
        // virtual void itemChanged(const Akonadi::Item&, const QSet<QByteArray>&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase::Observer*>(this))) {
            this->Akonadi::AgentBase::Observer::itemChanged(*(const Akonadi::Item*)x[1].s_class,*(const QSet<QByteArray>*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->itemChanged(*(const Akonadi::Item*)x[1].s_class,*(const QSet<QByteArray>*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_4(Smoke::Stack x) {
        // virtual void itemRemoved(const Akonadi::Item&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase::Observer*>(this))) {
            this->Akonadi::AgentBase::Observer::itemRemoved(*(const Akonadi::Item*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->itemRemoved(*(const Akonadi::Item*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_5(Smoke::Stack x) {
        // virtual void collectionAdded(const Akonadi::Collection&, const Akonadi::Collection&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase::Observer*>(this))) {
            this->Akonadi::AgentBase::Observer::collectionAdded(*(const Akonadi::Collection*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->collectionAdded(*(const Akonadi::Collection*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_6(Smoke::Stack x) {
        // virtual void collectionChanged(const Akonadi::Collection&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase::Observer*>(this))) {
            this->Akonadi::AgentBase::Observer::collectionChanged(*(const Akonadi::Collection*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->collectionChanged(*(const Akonadi::Collection*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_7(Smoke::Stack x) {
        // virtual void collectionRemoved(const Akonadi::Collection&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase::Observer*>(this))) {
            this->Akonadi::AgentBase::Observer::collectionRemoved(*(const Akonadi::Collection*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->collectionRemoved(*(const Akonadi::Collection*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_8(Smoke::Stack x) {
        // Akonadi::AgentBase::Observer* Observer(const Akonadi::AgentBase::Observer&)
        x_Akonadi__AgentBase__Observer* xret = new x_Akonadi__AgentBase__Observer(*(const Akonadi::AgentBase::Observer*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AgentBase__Observer(const Akonadi::AgentBase::Observer& x1) : Observer(x1) {}
    virtual void itemAdded(const Akonadi::Item& x1, const Akonadi::Collection& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(72, (void*)this, x)) return;
        this->Akonadi::AgentBase::Observer::itemAdded(x1, x2);
    }
    virtual void itemChanged(const Akonadi::Item& x1, const QSet<QByteArray>& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(73, (void*)this, x)) return;
        this->Akonadi::AgentBase::Observer::itemChanged(x1, x2);
    }
    virtual void itemRemoved(const Akonadi::Item& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(74, (void*)this, x)) return;
        this->Akonadi::AgentBase::Observer::itemRemoved(x1);
    }
    virtual void collectionAdded(const Akonadi::Collection& x1, const Akonadi::Collection& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(75, (void*)this, x)) return;
        this->Akonadi::AgentBase::Observer::collectionAdded(x1, x2);
    }
    virtual void collectionChanged(const Akonadi::Collection& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(76, (void*)this, x)) return;
        this->Akonadi::AgentBase::Observer::collectionChanged(x1);
    }
    virtual void collectionRemoved(const Akonadi::Collection& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(77, (void*)this, x)) return;
        this->Akonadi::AgentBase::Observer::collectionRemoved(x1);
    }
    ~x_Akonadi__AgentBase__Observer() { this->_binding->deleted(6, (void*)this); }
};
void xcall_Akonadi__AgentBase__Observer(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__AgentBase__Observer *xself = (x_Akonadi__AgentBase__Observer*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Akonadi__AgentBase__Observer::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__AgentBase__Observer::x_8(args);	break;
        case 9: delete (Akonadi::AgentBase::Observer*)xself;	break;
    }
}
class x_Akonadi__AgentBase__ObserverV2 : public Akonadi::AgentBase::ObserverV2, 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 void collectionChanged(const Akonadi::Collection&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase::ObserverV2*>(this))) {
            this->Akonadi::AgentBase::ObserverV2::collectionChanged(*(const Akonadi::Collection*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->collectionChanged(*(const Akonadi::Collection*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_2(Smoke::Stack x) {
        // virtual void itemMoved(const Akonadi::Item&, const Akonadi::Collection&, const Akonadi::Collection&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase::ObserverV2*>(this))) {
            this->Akonadi::AgentBase::ObserverV2::itemMoved(*(const Akonadi::Item*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class,*(const Akonadi::Collection*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->itemMoved(*(const Akonadi::Item*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class,*(const Akonadi::Collection*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_3(Smoke::Stack x) {
        // virtual void itemLinked(const Akonadi::Item&, const Akonadi::Collection&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase::ObserverV2*>(this))) {
            this->Akonadi::AgentBase::ObserverV2::itemLinked(*(const Akonadi::Item*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->itemLinked(*(const Akonadi::Item*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_4(Smoke::Stack x) {
        // virtual void itemUnlinked(const Akonadi::Item&, const Akonadi::Collection&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase::ObserverV2*>(this))) {
            this->Akonadi::AgentBase::ObserverV2::itemUnlinked(*(const Akonadi::Item*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->itemUnlinked(*(const Akonadi::Item*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_5(Smoke::Stack x) {
        // virtual void collectionMoved(const Akonadi::Collection&, const Akonadi::Collection&, const Akonadi::Collection&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase::ObserverV2*>(this))) {
            this->Akonadi::AgentBase::ObserverV2::collectionMoved(*(const Akonadi::Collection*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class,*(const Akonadi::Collection*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->collectionMoved(*(const Akonadi::Collection*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class,*(const Akonadi::Collection*)x[3].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_6(Smoke::Stack x) {
        // virtual void collectionChanged(const Akonadi::Collection&, const QSet<QByteArray>&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentBase::ObserverV2*>(this))) {
            this->Akonadi::AgentBase::ObserverV2::collectionChanged(*(const Akonadi::Collection*)x[1].s_class,*(const QSet<QByteArray>*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->collectionChanged(*(const Akonadi::Collection*)x[1].s_class,*(const QSet<QByteArray>*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_7(Smoke::Stack x) {
        // Akonadi::AgentBase::ObserverV2* ObserverV2()
        x_Akonadi__AgentBase__ObserverV2* xret = new x_Akonadi__AgentBase__ObserverV2();
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AgentBase__ObserverV2() : ObserverV2() {}
    static void x_8(Smoke::Stack x) {
        // Akonadi::AgentBase::ObserverV2* ObserverV2(const Akonadi::AgentBase::ObserverV2&)
        x_Akonadi__AgentBase__ObserverV2* xret = new x_Akonadi__AgentBase__ObserverV2(*(const Akonadi::AgentBase::ObserverV2*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AgentBase__ObserverV2(const Akonadi::AgentBase::ObserverV2& x1) : ObserverV2(x1) {}
    virtual void collectionChanged(const Akonadi::Collection& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(80, (void*)this, x)) return;
        this->Akonadi::AgentBase::ObserverV2::collectionChanged(x1);
    }
    virtual void itemMoved(const Akonadi::Item& x1, const Akonadi::Collection& x2, const Akonadi::Collection& 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(81, (void*)this, x)) return;
        this->Akonadi::AgentBase::ObserverV2::itemMoved(x1, x2, x3);
    }
    virtual void itemLinked(const Akonadi::Item& x1, const Akonadi::Collection& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(82, (void*)this, x)) return;
        this->Akonadi::AgentBase::ObserverV2::itemLinked(x1, x2);
    }
    virtual void itemUnlinked(const Akonadi::Item& x1, const Akonadi::Collection& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(83, (void*)this, x)) return;
        this->Akonadi::AgentBase::ObserverV2::itemUnlinked(x1, x2);
    }
    virtual void collectionMoved(const Akonadi::Collection& x1, const Akonadi::Collection& x2, const Akonadi::Collection& 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(84, (void*)this, x)) return;
        this->Akonadi::AgentBase::ObserverV2::collectionMoved(x1, x2, x3);
    }
    virtual void collectionChanged(const Akonadi::Collection& x1, const QSet<QByteArray>& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(85, (void*)this, x)) return;
        this->Akonadi::AgentBase::ObserverV2::collectionChanged(x1, x2);
    }
    virtual void itemAdded(const Akonadi::Item& x1, const Akonadi::Collection& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(72, (void*)this, x)) return;
        this->Akonadi::AgentBase::Observer::itemAdded(x1, x2);
    }
    virtual void itemChanged(const Akonadi::Item& x1, const QSet<QByteArray>& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(73, (void*)this, x)) return;
        this->Akonadi::AgentBase::Observer::itemChanged(x1, x2);
    }
    virtual void itemRemoved(const Akonadi::Item& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(74, (void*)this, x)) return;
        this->Akonadi::AgentBase::Observer::itemRemoved(x1);
    }
    virtual void collectionAdded(const Akonadi::Collection& x1, const Akonadi::Collection& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(75, (void*)this, x)) return;
        this->Akonadi::AgentBase::Observer::collectionAdded(x1, x2);
    }
    virtual void collectionRemoved(const Akonadi::Collection& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(77, (void*)this, x)) return;
        this->Akonadi::AgentBase::Observer::collectionRemoved(x1);
    }
    ~x_Akonadi__AgentBase__ObserverV2() { this->_binding->deleted(7, (void*)this); }
};
void xcall_Akonadi__AgentBase__ObserverV2(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__AgentBase__ObserverV2 *xself = (x_Akonadi__AgentBase__ObserverV2*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: x_Akonadi__AgentBase__ObserverV2::x_7(args);	break;
        case 8: x_Akonadi__AgentBase__ObserverV2::x_8(args);	break;
        case 9: delete (Akonadi::AgentBase::ObserverV2*)xself;	break;
    }
}
class x_Akonadi__AgentFilterProxyModel : public Akonadi::AgentFilterProxyModel, 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::AgentFilterProxyModel*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__AgentFilterProxyModel*)this)->Akonadi::AgentFilterProxyModel::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__AgentFilterProxyModel*)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::AgentFilterProxyModel*>(this))) {
            void* xret = this->Akonadi::AgentFilterProxyModel::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::AgentFilterProxyModel::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::AgentFilterProxyModel::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::AgentFilterProxyModel::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::AgentFilterProxyModel::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::AgentFilterProxyModel*>(this))) {
            int xret = this->Akonadi::AgentFilterProxyModel::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::AgentFilterProxyModel* AgentFilterProxyModel(QObject*)
        x_Akonadi__AgentFilterProxyModel* xret = new x_Akonadi__AgentFilterProxyModel((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AgentFilterProxyModel(QObject* x1) : AgentFilterProxyModel(x1) {}
    void x_9(Smoke::Stack x) {
        // void addMimeTypeFilter(const QString&)
        this->Akonadi::AgentFilterProxyModel::addMimeTypeFilter(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // void addCapabilityFilter(const QString&)
        this->Akonadi::AgentFilterProxyModel::addCapabilityFilter(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void clearFilters()
        this->Akonadi::AgentFilterProxyModel::clearFilters();
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void excludeCapabilities(const QString&)
        this->Akonadi::AgentFilterProxyModel::excludeCapabilities(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // bool filterAcceptsRow(int, const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentFilterProxyModel*>(this))) {
            bool xret = ((const x_Akonadi__AgentFilterProxyModel*)this)->Akonadi::AgentFilterProxyModel::filterAcceptsRow((int)x[1].s_int,*(const QModelIndex*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_Akonadi__AgentFilterProxyModel*)this)->filterAcceptsRow((int)x[1].s_int,*(const QModelIndex*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_14(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::AgentFilterProxyModel::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::AgentFilterProxyModel::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::AgentFilterProxyModel* AgentFilterProxyModel()
        x_Akonadi__AgentFilterProxyModel* xret = new x_Akonadi__AgentFilterProxyModel((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_17(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::AgentFilterProxyModel::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(89, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::AgentFilterProxyModel::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(90, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::AgentFilterProxyModel::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(95, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::AgentFilterProxyModel::qt_metacall(x1, x2, x3);
    }
    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(101, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::AgentFilterProxyModel::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 void setSourceModel(QAbstractItemModel* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2693, (void*)this, x)) return;
        this->QSortFilterProxyModel::setSourceModel(x1);
    }
    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 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(2701, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::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(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 int columnCount(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2704, (void*)this, x)) return (int)x[0].s_int;
        return this->QSortFilterProxyModel::columnCount(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 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(2706, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::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(2707, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QSortFilterProxyModel::setData(x1, x2, x3);
    }
    virtual QVariant headerData(int x1, Qt::Orientation x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(2708, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::headerData(x1, x2, x3);
    }
    virtual bool setHeaderData(int x1, Qt::Orientation x2, const QVariant& x3, int x4) {
        Smoke::StackItem x[5];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_class = (void*)&x3;
        x[4].s_int = x4;
        if (this->_binding->callMethod(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 QFlags<Qt::ItemFlag> flags(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2718, (void*)this, x)) return (QFlags<Qt::ItemFlag>)x[0].s_uint;
        return this->QSortFilterProxyModel::flags(x1);
    }
    virtual void sort(int x1, Qt::SortOrder x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(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 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(2720, (void*)this, x)) {
            QList<QModelIndex>* xptr = (QList<QModelIndex>*)x[0].s_class;
            QList<QModelIndex> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QSortFilterProxyModel::match(x1, x2, x3, x4, x5);
    }
    virtual QSize span(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(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 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__AgentFilterProxyModel() { this->_binding->deleted(9, (void*)this); }
};
void xcall_Akonadi__AgentFilterProxyModel(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__AgentFilterProxyModel *xself = (x_Akonadi__AgentFilterProxyModel*)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__AgentFilterProxyModel::x_3(args);	break;
        case 4: x_Akonadi__AgentFilterProxyModel::x_4(args);	break;
        case 5: x_Akonadi__AgentFilterProxyModel::x_5(args);	break;
        case 6: x_Akonadi__AgentFilterProxyModel::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__AgentFilterProxyModel::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: x_Akonadi__AgentFilterProxyModel::x_14(args);	break;
        case 15: x_Akonadi__AgentFilterProxyModel::x_15(args);	break;
        case 16: x_Akonadi__AgentFilterProxyModel::x_16(args);	break;
        case 17: x_Akonadi__AgentFilterProxyModel::x_17(args);	break;
        case 18: delete (Akonadi::AgentFilterProxyModel*)xself;	break;
    }
}
class x_Akonadi__AgentInstance : public Akonadi::AgentInstance {
    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::AgentInstance* AgentInstance()
        x_Akonadi__AgentInstance* xret = new x_Akonadi__AgentInstance();
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AgentInstance() : AgentInstance() {}
    static void x_2(Smoke::Stack x) {
        // Akonadi::AgentInstance* AgentInstance(const Akonadi::AgentInstance&)
        x_Akonadi__AgentInstance* xret = new x_Akonadi__AgentInstance(*(const Akonadi::AgentInstance*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AgentInstance(const Akonadi::AgentInstance& x1) : AgentInstance(x1) {}
    void x_3(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_Akonadi__AgentInstance*)this)->Akonadi::AgentInstance::isValid();
        x[0].s_bool = xret;
    }
    void x_4(Smoke::Stack x) {
        // Akonadi::AgentType type() const
        Akonadi::AgentType xret = ((const x_Akonadi__AgentInstance*)this)->Akonadi::AgentInstance::type();
        x[0].s_class = (void*)new Akonadi::AgentType(xret);
    }
    void x_5(Smoke::Stack x) {
        // QString identifier() const
        QString xret = ((const x_Akonadi__AgentInstance*)this)->Akonadi::AgentInstance::identifier();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_6(Smoke::Stack x) {
        // QString name() const
        QString xret = ((const x_Akonadi__AgentInstance*)this)->Akonadi::AgentInstance::name();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // void setName(const QString&)
        this->Akonadi::AgentInstance::setName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // Akonadi::AgentInstance::Status status() const
        Akonadi::AgentInstance::Status xret = ((const x_Akonadi__AgentInstance*)this)->Akonadi::AgentInstance::status();
        x[0].s_enum = xret;
    }
    void x_9(Smoke::Stack x) {
        // QString statusMessage() const
        QString xret = ((const x_Akonadi__AgentInstance*)this)->Akonadi::AgentInstance::statusMessage();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_10(Smoke::Stack x) {
        // int progress() const
        int xret = ((const x_Akonadi__AgentInstance*)this)->Akonadi::AgentInstance::progress();
        x[0].s_int = xret;
    }
    void x_11(Smoke::Stack x) {
        // bool isOnline() const
        bool xret = ((const x_Akonadi__AgentInstance*)this)->Akonadi::AgentInstance::isOnline();
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // void setIsOnline(bool)
        this->Akonadi::AgentInstance::setIsOnline((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // void configure(QWidget*)
        this->Akonadi::AgentInstance::configure((QWidget*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // void synchronize()
        this->Akonadi::AgentInstance::synchronize();
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void synchronizeCollectionTree()
        this->Akonadi::AgentInstance::synchronizeCollectionTree();
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // Akonadi::AgentInstance& operator=(const Akonadi::AgentInstance&)
        Akonadi::AgentInstance& xret = this->Akonadi::AgentInstance::operator=(*(const Akonadi::AgentInstance*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_17(Smoke::Stack x) {
        // bool operator==(const Akonadi::AgentInstance&) const
        bool xret = ((const x_Akonadi__AgentInstance*)this)->Akonadi::AgentInstance::operator==(*(const Akonadi::AgentInstance*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_18(Smoke::Stack x) {
        // void abortCurrentTask() const
        ((const x_Akonadi__AgentInstance*)this)->Akonadi::AgentInstance::abortCurrentTask();
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // void reconfigure() const
        ((const x_Akonadi__AgentInstance*)this)->Akonadi::AgentInstance::reconfigure();
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // void restart() const
        ((const x_Akonadi__AgentInstance*)this)->Akonadi::AgentInstance::restart();
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // void configure()
        this->Akonadi::AgentInstance::configure((QWidget*)0);
        (void)x; // noop (for compiler warning)
    }
    static void x_22(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentInstance::Idle;
    }
    static void x_23(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentInstance::Running;
    }
    static void x_24(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentInstance::Broken;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentInstance::NotConfigured;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 14: //Akonadi::AgentInstance::Status
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::AgentInstance::Status;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::AgentInstance::Status*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::AgentInstance::Status*)xdata = (Akonadi::AgentInstance::Status)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::AgentInstance::Status*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_Akonadi__AgentInstance() { this->_binding->deleted(10, (void*)this); }
};
void xenum_Akonadi__AgentInstance(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Akonadi__AgentInstance::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Akonadi__AgentInstance(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__AgentInstance *xself = (x_Akonadi__AgentInstance*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Akonadi__AgentInstance::x_1(args);	break;
        case 2: x_Akonadi__AgentInstance::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: x_Akonadi__AgentInstance::x_22(args);	break;
        case 23: x_Akonadi__AgentInstance::x_23(args);	break;
        case 24: x_Akonadi__AgentInstance::x_24(args);	break;
        case 25: x_Akonadi__AgentInstance::x_25(args);	break;
        case 26: delete (Akonadi::AgentInstance*)xself;	break;
    }
}
class x_Akonadi__AgentInstanceCreateJob : public Akonadi::AgentInstanceCreateJob, 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::AgentInstanceCreateJob*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__AgentInstanceCreateJob*)this)->Akonadi::AgentInstanceCreateJob::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__AgentInstanceCreateJob*)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::AgentInstanceCreateJob*>(this))) {
            void* xret = this->Akonadi::AgentInstanceCreateJob::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::AgentInstanceCreateJob::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::AgentInstanceCreateJob::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::AgentInstanceCreateJob::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::AgentInstanceCreateJob::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::AgentInstanceCreateJob*>(this))) {
            int xret = this->Akonadi::AgentInstanceCreateJob::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::AgentInstanceCreateJob* AgentInstanceCreateJob(const Akonadi::AgentType&, QObject*)
        x_Akonadi__AgentInstanceCreateJob* xret = new x_Akonadi__AgentInstanceCreateJob(*(const Akonadi::AgentType*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AgentInstanceCreateJob(const Akonadi::AgentType& x1, QObject* x2) : AgentInstanceCreateJob(x1, x2) {}
    static void x_9(Smoke::Stack x) {
        // Akonadi::AgentInstanceCreateJob* AgentInstanceCreateJob(const QString&, QObject*)
        x_Akonadi__AgentInstanceCreateJob* xret = new x_Akonadi__AgentInstanceCreateJob(*(const QString*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AgentInstanceCreateJob(const QString& x1, QObject* x2) : AgentInstanceCreateJob(x1, x2) {}
    void x_10(Smoke::Stack x) {
        // void configure(QWidget*)
        this->Akonadi::AgentInstanceCreateJob::configure((QWidget*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // Akonadi::AgentInstance instance() const
        Akonadi::AgentInstance xret = ((const x_Akonadi__AgentInstanceCreateJob*)this)->Akonadi::AgentInstanceCreateJob::instance();
        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::AgentInstanceCreateJob*>(this))) {
            this->Akonadi::AgentInstanceCreateJob::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::AgentInstanceCreateJob::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::AgentInstanceCreateJob::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::AgentInstanceCreateJob* AgentInstanceCreateJob(const Akonadi::AgentType&)
        x_Akonadi__AgentInstanceCreateJob* xret = new x_Akonadi__AgentInstanceCreateJob(*(const Akonadi::AgentType*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_16(Smoke::Stack x) {
        // Akonadi::AgentInstanceCreateJob* AgentInstanceCreateJob(const QString&)
        x_Akonadi__AgentInstanceCreateJob* xret = new x_Akonadi__AgentInstanceCreateJob(*(const QString*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_17(Smoke::Stack x) {
        // void configure()
        this->Akonadi::AgentInstanceCreateJob::configure((QWidget*)0);
        (void)x; // noop (for compiler warning)
    }
    static void x_18(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::AgentInstanceCreateJob::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(133, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::AgentInstanceCreateJob::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(134, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::AgentInstanceCreateJob::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(139, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::AgentInstanceCreateJob::qt_metacall(x1, x2, x3);
    }
    virtual void start() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(144, (void*)this, x)) return;
        this->Akonadi::AgentInstanceCreateJob::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__AgentInstanceCreateJob() { this->_binding->deleted(11, (void*)this); }
};
void xcall_Akonadi__AgentInstanceCreateJob(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__AgentInstanceCreateJob *xself = (x_Akonadi__AgentInstanceCreateJob*)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__AgentInstanceCreateJob::x_3(args);	break;
        case 4: x_Akonadi__AgentInstanceCreateJob::x_4(args);	break;
        case 5: x_Akonadi__AgentInstanceCreateJob::x_5(args);	break;
        case 6: x_Akonadi__AgentInstanceCreateJob::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__AgentInstanceCreateJob::x_8(args);	break;
        case 9: x_Akonadi__AgentInstanceCreateJob::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__AgentInstanceCreateJob::x_13(args);	break;
        case 14: x_Akonadi__AgentInstanceCreateJob::x_14(args);	break;
        case 15: x_Akonadi__AgentInstanceCreateJob::x_15(args);	break;
        case 16: x_Akonadi__AgentInstanceCreateJob::x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: x_Akonadi__AgentInstanceCreateJob::x_18(args);	break;
        case 19: delete (Akonadi::AgentInstanceCreateJob*)xself;	break;
    }
}
class x_Akonadi__AgentInstanceModel : public Akonadi::AgentInstanceModel, 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::AgentInstanceModel*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__AgentInstanceModel*)this)->Akonadi::AgentInstanceModel::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__AgentInstanceModel*)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::AgentInstanceModel*>(this))) {
            void* xret = this->Akonadi::AgentInstanceModel::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::AgentInstanceModel::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::AgentInstanceModel::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::AgentInstanceModel::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::AgentInstanceModel::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::AgentInstanceModel*>(this))) {
            int xret = this->Akonadi::AgentInstanceModel::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::AgentInstanceModel* AgentInstanceModel(QObject*)
        x_Akonadi__AgentInstanceModel* xret = new x_Akonadi__AgentInstanceModel((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AgentInstanceModel(QObject* x1) : AgentInstanceModel(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual int columnCount(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentInstanceModel*>(this))) {
            int xret = ((const x_Akonadi__AgentInstanceModel*)this)->Akonadi::AgentInstanceModel::columnCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_Akonadi__AgentInstanceModel*)this)->columnCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        }
    }
    void x_10(Smoke::Stack x) {
        // virtual int rowCount(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentInstanceModel*>(this))) {
            int xret = ((const x_Akonadi__AgentInstanceModel*)this)->Akonadi::AgentInstanceModel::rowCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_Akonadi__AgentInstanceModel*)this)->rowCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // virtual QVariant data(const QModelIndex&, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentInstanceModel*>(this))) {
            QVariant xret = ((const x_Akonadi__AgentInstanceModel*)this)->Akonadi::AgentInstanceModel::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__AgentInstanceModel*)this)->data(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_12(Smoke::Stack x) {
        // virtual QVariant headerData(int, Qt::Orientation, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentInstanceModel*>(this))) {
            QVariant xret = ((const x_Akonadi__AgentInstanceModel*)this)->Akonadi::AgentInstanceModel::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__AgentInstanceModel*)this)->headerData((int)x[1].s_int,(Qt::Orientation)x[2].s_enum,(int)x[3].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_13(Smoke::Stack x) {
        // virtual QModelIndex index(int, int, const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentInstanceModel*>(this))) {
            QModelIndex xret = ((const x_Akonadi__AgentInstanceModel*)this)->Akonadi::AgentInstanceModel::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__AgentInstanceModel*)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 QModelIndex parent(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentInstanceModel*>(this))) {
            QModelIndex xret = ((const x_Akonadi__AgentInstanceModel*)this)->Akonadi::AgentInstanceModel::parent(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        } else {
            QModelIndex xret = ((const x_Akonadi__AgentInstanceModel*)this)->parent(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        }
    }
    void x_15(Smoke::Stack x) {
        // virtual QFlags<Qt::ItemFlag> flags(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentInstanceModel*>(this))) {
            QFlags<Qt::ItemFlag> xret = ((const x_Akonadi__AgentInstanceModel*)this)->Akonadi::AgentInstanceModel::flags(*(const QModelIndex*)x[1].s_class);
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<Qt::ItemFlag> xret = ((const x_Akonadi__AgentInstanceModel*)this)->flags(*(const QModelIndex*)x[1].s_class);
            x[0].s_uint = (uint)xret;
        }
    }
    void x_16(Smoke::Stack x) {
        // virtual bool setData(const QModelIndex&, const QVariant&, int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentInstanceModel*>(this))) {
            bool xret = this->Akonadi::AgentInstanceModel::setData(*(const QModelIndex*)x[1].s_class,*(const QVariant*)x[2].s_class,(int)x[3].s_int);
            x[0].s_bool = xret;
        } else {
            bool xret = this->setData(*(const QModelIndex*)x[1].s_class,*(const QVariant*)x[2].s_class,(int)x[3].s_int);
            x[0].s_bool = xret;
        }
    }
    static void x_17(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::AgentInstanceModel::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_18(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::AgentInstanceModel::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_19(Smoke::Stack x) {
        // Akonadi::AgentInstanceModel* AgentInstanceModel()
        x_Akonadi__AgentInstanceModel* xret = new x_Akonadi__AgentInstanceModel((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_20(Smoke::Stack x) {
        // int columnCount() const
        int xret = ((const x_Akonadi__AgentInstanceModel*)this)->Akonadi::AgentInstanceModel::columnCount((const QModelIndex&)QModelIndex());
        x[0].s_int = xret;
    }
    void x_21(Smoke::Stack x) {
        // int rowCount() const
        int xret = ((const x_Akonadi__AgentInstanceModel*)this)->Akonadi::AgentInstanceModel::rowCount((const QModelIndex&)QModelIndex());
        x[0].s_int = xret;
    }
    void x_22(Smoke::Stack x) {
        // QVariant data(const QModelIndex&) const
        QVariant xret = ((const x_Akonadi__AgentInstanceModel*)this)->Akonadi::AgentInstanceModel::data(*(const QModelIndex*)x[1].s_class,(int)Qt::DisplayRole);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_23(Smoke::Stack x) {
        // QVariant headerData(int, Qt::Orientation) const
        QVariant xret = ((const x_Akonadi__AgentInstanceModel*)this)->Akonadi::AgentInstanceModel::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_24(Smoke::Stack x) {
        // QModelIndex index(int, int) const
        QModelIndex xret = ((const x_Akonadi__AgentInstanceModel*)this)->Akonadi::AgentInstanceModel::index((int)x[1].s_int,(int)x[2].s_int,(const QModelIndex&)QModelIndex());
        x[0].s_class = (void*)new QModelIndex(xret);
    }
    static void x_25(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::AgentInstanceModel::staticMetaObject;
    }
    static void x_26(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentInstanceModel::TypeRole;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentInstanceModel::TypeIdentifierRole;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentInstanceModel::DescriptionRole;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentInstanceModel::MimeTypesRole;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentInstanceModel::CapabilitiesRole;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentInstanceModel::InstanceRole;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentInstanceModel::InstanceIdentifierRole;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentInstanceModel::StatusRole;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentInstanceModel::StatusMessageRole;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentInstanceModel::ProgressRole;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentInstanceModel::OnlineRole;
    }
    static void x_37(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentInstanceModel::UserRole;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(152, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::AgentInstanceModel::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(153, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::AgentInstanceModel::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(158, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::AgentInstanceModel::qt_metacall(x1, x2, x3);
    }
    virtual int columnCount(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(160, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::AgentInstanceModel::columnCount(x1);
    }
    virtual int rowCount(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(161, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::AgentInstanceModel::rowCount(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(162, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::AgentInstanceModel::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(163, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::AgentInstanceModel::headerData(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(164, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::AgentInstanceModel::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(165, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::AgentInstanceModel::parent(x1);
    }
    virtual QFlags<Qt::ItemFlag> flags(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(166, (void*)this, x)) return (QFlags<Qt::ItemFlag>)x[0].s_uint;
        return this->Akonadi::AgentInstanceModel::flags(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(167, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::AgentInstanceModel::setData(x1, x2, x3);
    }
    virtual bool hasChildren(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2529, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::hasChildren(x1);
    }
    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(2532, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::setHeaderData(x1, x2, x3, x4);
    }
    virtual QMap<int,QVariant> itemData(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2533, (void*)this, x)) {
            QMap<int,QVariant>* xptr = (QMap<int,QVariant>*)x[0].s_class;
            QMap<int,QVariant> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemModel::itemData(x1);
    }
    virtual bool setItemData(const QModelIndex& x1, const QMap<int,QVariant>& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(2534, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::setItemData(x1, x2);
    }
    virtual QStringList mimeTypes() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2535, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemModel::mimeTypes();
    }
    virtual QMimeData* mimeData(const QList<QModelIndex>& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2536, (void*)this, x)) return (QMimeData*)x[0].s_class;
        return this->QAbstractItemModel::mimeData(x1);
    }
    virtual bool dropMimeData(const QMimeData* x1, Qt::DropAction x2, int x3, int x4, const QModelIndex& x5) {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        x[4].s_int = x4;
        x[5].s_class = (void*)&x5;
        if (this->_binding->callMethod(2537, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::dropMimeData(x1, x2, x3, x4, x5);
    }
    virtual QFlags<Qt::DropAction> supportedDropActions() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2538, (void*)this, x)) return (QFlags<Qt::DropAction>)x[0].s_uint;
        return this->QAbstractItemModel::supportedDropActions();
    }
    virtual bool insertRows(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(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(2543, (void*)this, x)) return;
        this->QAbstractItemModel::fetchMore(x1);
    }
    virtual bool canFetchMore(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2544, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::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(2545, (void*)this, x)) return;
        this->QAbstractItemModel::sort(x1, x2);
    }
    virtual QModelIndex buddy(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2546, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemModel::buddy(x1);
    }
    virtual QList<QModelIndex> match(const QModelIndex& x1, int x2, const QVariant& x3, int x4, QFlags<Qt::MatchFlag> x5) const {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        x[4].s_int = x4;
        x[5].s_uint = (uint)x5;
        if (this->_binding->callMethod(2547, (void*)this, x)) {
            QList<QModelIndex>* xptr = (QList<QModelIndex>*)x[0].s_class;
            QList<QModelIndex> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemModel::match(x1, x2, x3, x4, x5);
    }
    virtual QSize span(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2548, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemModel::span(x1);
    }
    virtual bool submit() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2549, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::submit();
    }
    virtual void revert() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2550, (void*)this, x)) return;
        this->QAbstractItemModel::revert();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(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 17: //Akonadi::AgentInstanceModel::Roles
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::AgentInstanceModel::Roles;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::AgentInstanceModel::Roles*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::AgentInstanceModel::Roles*)xdata = (Akonadi::AgentInstanceModel::Roles)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::AgentInstanceModel::Roles*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_Akonadi__AgentInstanceModel() { this->_binding->deleted(12, (void*)this); }
};
void xenum_Akonadi__AgentInstanceModel(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Akonadi__AgentInstanceModel::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Akonadi__AgentInstanceModel(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__AgentInstanceModel *xself = (x_Akonadi__AgentInstanceModel*)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__AgentInstanceModel::x_3(args);	break;
        case 4: x_Akonadi__AgentInstanceModel::x_4(args);	break;
        case 5: x_Akonadi__AgentInstanceModel::x_5(args);	break;
        case 6: x_Akonadi__AgentInstanceModel::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__AgentInstanceModel::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: x_Akonadi__AgentInstanceModel::x_17(args);	break;
        case 18: x_Akonadi__AgentInstanceModel::x_18(args);	break;
        case 19: x_Akonadi__AgentInstanceModel::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: x_Akonadi__AgentInstanceModel::x_25(args);	break;
        case 26: x_Akonadi__AgentInstanceModel::x_26(args);	break;
        case 27: x_Akonadi__AgentInstanceModel::x_27(args);	break;
        case 28: x_Akonadi__AgentInstanceModel::x_28(args);	break;
        case 29: x_Akonadi__AgentInstanceModel::x_29(args);	break;
        case 30: x_Akonadi__AgentInstanceModel::x_30(args);	break;
        case 31: x_Akonadi__AgentInstanceModel::x_31(args);	break;
        case 32: x_Akonadi__AgentInstanceModel::x_32(args);	break;
        case 33: x_Akonadi__AgentInstanceModel::x_33(args);	break;
        case 34: x_Akonadi__AgentInstanceModel::x_34(args);	break;
        case 35: x_Akonadi__AgentInstanceModel::x_35(args);	break;
        case 36: x_Akonadi__AgentInstanceModel::x_36(args);	break;
        case 37: x_Akonadi__AgentInstanceModel::x_37(args);	break;
        case 38: delete (Akonadi::AgentInstanceModel*)xself;	break;
    }
}
class x_Akonadi__AgentInstanceWidget : public Akonadi::AgentInstanceWidget, 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::AgentInstanceWidget*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__AgentInstanceWidget*)this)->Akonadi::AgentInstanceWidget::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__AgentInstanceWidget*)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::AgentInstanceWidget*>(this))) {
            void* xret = this->Akonadi::AgentInstanceWidget::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::AgentInstanceWidget::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::AgentInstanceWidget::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::AgentInstanceWidget::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::AgentInstanceWidget::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::AgentInstanceWidget*>(this))) {
            int xret = this->Akonadi::AgentInstanceWidget::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::AgentInstanceWidget* AgentInstanceWidget(QWidget*)
        x_Akonadi__AgentInstanceWidget* xret = new x_Akonadi__AgentInstanceWidget((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AgentInstanceWidget(QWidget* x1) : AgentInstanceWidget(x1) {}
    void x_9(Smoke::Stack x) {
        // Akonadi::AgentInstance currentAgentInstance() const
        Akonadi::AgentInstance xret = ((const x_Akonadi__AgentInstanceWidget*)this)->Akonadi::AgentInstanceWidget::currentAgentInstance();
        x[0].s_class = (void*)new Akonadi::AgentInstance(xret);
    }
    void x_10(Smoke::Stack x) {
        // QList<Akonadi::AgentInstance> selectedAgentInstances() const
        QList<Akonadi::AgentInstance> xret = ((const x_Akonadi__AgentInstanceWidget*)this)->Akonadi::AgentInstanceWidget::selectedAgentInstances();
        x[0].s_class = (void*)new QList<Akonadi::AgentInstance>(xret);
    }
    void x_11(Smoke::Stack x) {
        // Akonadi::AgentFilterProxyModel* agentFilterProxyModel() const
        Akonadi::AgentFilterProxyModel* xret = ((const x_Akonadi__AgentInstanceWidget*)this)->Akonadi::AgentInstanceWidget::agentFilterProxyModel();
        x[0].s_class = (void*)xret;
    }
    void x_12(Smoke::Stack x) {
        // QAbstractItemView* view() const
        QAbstractItemView* xret = ((const x_Akonadi__AgentInstanceWidget*)this)->Akonadi::AgentInstanceWidget::view();
        x[0].s_class = (void*)xret;
    }
    void x_13(Smoke::Stack x) {
        // void currentChanged(const Akonadi::AgentInstance&, const Akonadi::AgentInstance&)
        this->Akonadi::AgentInstanceWidget::currentChanged(*(const Akonadi::AgentInstance*)x[1].s_class,*(const Akonadi::AgentInstance*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // void doubleClicked(const Akonadi::AgentInstance&)
        this->Akonadi::AgentInstanceWidget::doubleClicked(*(const Akonadi::AgentInstance*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void clicked(const Akonadi::AgentInstance&)
        this->Akonadi::AgentInstanceWidget::clicked(*(const Akonadi::AgentInstance*)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::AgentInstanceWidget::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::AgentInstanceWidget::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::AgentInstanceWidget* AgentInstanceWidget()
        x_Akonadi__AgentInstanceWidget* xret = new x_Akonadi__AgentInstanceWidget((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_19(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::AgentInstanceWidget::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(190, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::AgentInstanceWidget::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(191, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::AgentInstanceWidget::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(196, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::AgentInstanceWidget::qt_metacall(x1, x2, x3);
    }
    virtual void setVisible(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(2772, (void*)this, x)) return;
        this->QWidget::setVisible(x1);
    }
    virtual QSize sizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2773, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QWidget::sizeHint();
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2774, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QWidget::minimumSizeHint();
    }
    virtual int heightForWidth(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2775, (void*)this, x)) return (int)x[0].s_int;
        return this->QWidget::heightForWidth(x1);
    }
    virtual void mousePressEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2778, (void*)this, x)) return;
        this->QWidget::mousePressEvent(x1);
    }
    virtual void mouseReleaseEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2779, (void*)this, x)) return;
        this->QWidget::mouseReleaseEvent(x1);
    }
    virtual void mouseDoubleClickEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2780, (void*)this, x)) return;
        this->QWidget::mouseDoubleClickEvent(x1);
    }
    virtual void mouseMoveEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2781, (void*)this, x)) return;
        this->QWidget::mouseMoveEvent(x1);
    }
    virtual void wheelEvent(QWheelEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2782, (void*)this, x)) return;
        this->QWidget::wheelEvent(x1);
    }
    virtual void keyPressEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2783, (void*)this, x)) return;
        this->QWidget::keyPressEvent(x1);
    }
    virtual void keyReleaseEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2784, (void*)this, x)) return;
        this->QWidget::keyReleaseEvent(x1);
    }
    virtual void focusInEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2785, (void*)this, x)) return;
        this->QWidget::focusInEvent(x1);
    }
    virtual void focusOutEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2786, (void*)this, x)) return;
        this->QWidget::focusOutEvent(x1);
    }
    virtual void enterEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2787, (void*)this, x)) return;
        this->QWidget::enterEvent(x1);
    }
    virtual void leaveEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2788, (void*)this, x)) return;
        this->QWidget::leaveEvent(x1);
    }
    virtual void paintEvent(QPaintEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2789, (void*)this, x)) return;
        this->QWidget::paintEvent(x1);
    }
    virtual void moveEvent(QMoveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2790, (void*)this, x)) return;
        this->QWidget::moveEvent(x1);
    }
    virtual void resizeEvent(QResizeEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2791, (void*)this, x)) return;
        this->QWidget::resizeEvent(x1);
    }
    virtual void closeEvent(QCloseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2792, (void*)this, x)) return;
        this->QWidget::closeEvent(x1);
    }
    virtual void contextMenuEvent(QContextMenuEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2793, (void*)this, x)) return;
        this->QWidget::contextMenuEvent(x1);
    }
    virtual void tabletEvent(QTabletEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2794, (void*)this, x)) return;
        this->QWidget::tabletEvent(x1);
    }
    virtual void actionEvent(QActionEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2795, (void*)this, x)) return;
        this->QWidget::actionEvent(x1);
    }
    virtual void dragEnterEvent(QDragEnterEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2796, (void*)this, x)) return;
        this->QWidget::dragEnterEvent(x1);
    }
    virtual void dragMoveEvent(QDragMoveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2797, (void*)this, x)) return;
        this->QWidget::dragMoveEvent(x1);
    }
    virtual void dragLeaveEvent(QDragLeaveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2798, (void*)this, x)) return;
        this->QWidget::dragLeaveEvent(x1);
    }
    virtual void dropEvent(QDropEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2799, (void*)this, x)) return;
        this->QWidget::dropEvent(x1);
    }
    virtual void showEvent(QShowEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2800, (void*)this, x)) return;
        this->QWidget::showEvent(x1);
    }
    virtual void hideEvent(QHideEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2801, (void*)this, x)) return;
        this->QWidget::hideEvent(x1);
    }
    virtual bool x11Event(_XEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2802, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QWidget::x11Event(x1);
    }
    virtual void changeEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2803, (void*)this, x)) return;
        this->QWidget::changeEvent(x1);
    }
    virtual void inputMethodEvent(QInputMethodEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2805, (void*)this, x)) return;
        this->QWidget::inputMethodEvent(x1);
    }
    virtual QVariant inputMethodQuery(Qt::InputMethodQuery x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(2806, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QWidget::inputMethodQuery(x1);
    }
    virtual bool focusNextPrevChild(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(2807, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QWidget::focusNextPrevChild(x1);
    }
    virtual void styleChange(QStyle& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2808, (void*)this, x)) return;
        this->QWidget::styleChange(x1);
    }
    virtual void enabledChange(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(2809, (void*)this, x)) return;
        this->QWidget::enabledChange(x1);
    }
    virtual void paletteChange(const QPalette& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2810, (void*)this, x)) return;
        this->QWidget::paletteChange(x1);
    }
    virtual void fontChange(const QFont& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2811, (void*)this, x)) return;
        this->QWidget::fontChange(x1);
    }
    virtual void windowActivationChange(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(2812, (void*)this, x)) return;
        this->QWidget::windowActivationChange(x1);
    }
    virtual void languageChange() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2813, (void*)this, x)) return;
        this->QWidget::languageChange();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2777, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QWidget::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);
    }
    virtual int devType() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2771, (void*)this, x)) return (int)x[0].s_int;
        return this->QWidget::devType();
    }
    virtual QPaintEngine* paintEngine() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2776, (void*)this, x)) return (QPaintEngine*)x[0].s_class;
        return this->QWidget::paintEngine();
    }
    virtual int metric(QPaintDevice::PaintDeviceMetric x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(2804, (void*)this, x)) return (int)x[0].s_int;
        return this->QWidget::metric(x1);
    }
    ~x_Akonadi__AgentInstanceWidget() { this->_binding->deleted(13, (void*)this); }
};
void xcall_Akonadi__AgentInstanceWidget(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__AgentInstanceWidget *xself = (x_Akonadi__AgentInstanceWidget*)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__AgentInstanceWidget::x_3(args);	break;
        case 4: x_Akonadi__AgentInstanceWidget::x_4(args);	break;
        case 5: x_Akonadi__AgentInstanceWidget::x_5(args);	break;
        case 6: x_Akonadi__AgentInstanceWidget::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__AgentInstanceWidget::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__AgentInstanceWidget::x_16(args);	break;
        case 17: x_Akonadi__AgentInstanceWidget::x_17(args);	break;
        case 18: x_Akonadi__AgentInstanceWidget::x_18(args);	break;
        case 19: x_Akonadi__AgentInstanceWidget::x_19(args);	break;
        case 20: delete (Akonadi::AgentInstanceWidget*)xself;	break;
    }
}
class x_Akonadi__AgentManager : public Akonadi::AgentManager, public __internal_SmokeClass {
public:
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        const QMetaObject* xret = ((const x_Akonadi__AgentManager*)this)->Akonadi::AgentManager::metaObject();
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        void* xret = this->Akonadi::AgentManager::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::AgentManager::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::AgentManager::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::AgentManager::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::AgentManager::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::AgentManager::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 Akonadi::AgentManager* self()
        Akonadi::AgentManager* xret = Akonadi::AgentManager::self();
        x[0].s_class = (void*)xret;
    }
    void x_9(Smoke::Stack x) {
        // QList<Akonadi::AgentType> types() const
        QList<Akonadi::AgentType> xret = ((const x_Akonadi__AgentManager*)this)->Akonadi::AgentManager::types();
        x[0].s_class = (void*)new QList<Akonadi::AgentType>(xret);
    }
    void x_10(Smoke::Stack x) {
        // Akonadi::AgentType type(const QString&) const
        Akonadi::AgentType xret = ((const x_Akonadi__AgentManager*)this)->Akonadi::AgentManager::type(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new Akonadi::AgentType(xret);
    }
    void x_11(Smoke::Stack x) {
        // QList<Akonadi::AgentInstance> instances() const
        QList<Akonadi::AgentInstance> xret = ((const x_Akonadi__AgentManager*)this)->Akonadi::AgentManager::instances();
        x[0].s_class = (void*)new QList<Akonadi::AgentInstance>(xret);
    }
    void x_12(Smoke::Stack x) {
        // Akonadi::AgentInstance instance(const QString&) const
        Akonadi::AgentInstance xret = ((const x_Akonadi__AgentManager*)this)->Akonadi::AgentManager::instance(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new Akonadi::AgentInstance(xret);
    }
    void x_13(Smoke::Stack x) {
        // void removeInstance(const Akonadi::AgentInstance&)
        this->Akonadi::AgentManager::removeInstance(*(const Akonadi::AgentInstance*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // void synchronizeCollection(const Akonadi::Collection&)
        this->Akonadi::AgentManager::synchronizeCollection(*(const Akonadi::Collection*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void synchronizeCollection(const Akonadi::Collection&, bool)
        this->Akonadi::AgentManager::synchronizeCollection(*(const Akonadi::Collection*)x[1].s_class,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // void typeAdded(const Akonadi::AgentType&)
        this->Akonadi::AgentManager::typeAdded(*(const Akonadi::AgentType*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void typeRemoved(const Akonadi::AgentType&)
        this->Akonadi::AgentManager::typeRemoved(*(const Akonadi::AgentType*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // void instanceAdded(const Akonadi::AgentInstance&)
        this->Akonadi::AgentManager::instanceAdded(*(const Akonadi::AgentInstance*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // void instanceRemoved(const Akonadi::AgentInstance&)
        this->Akonadi::AgentManager::instanceRemoved(*(const Akonadi::AgentInstance*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // void instanceStatusChanged(const Akonadi::AgentInstance&)
        this->Akonadi::AgentManager::instanceStatusChanged(*(const Akonadi::AgentInstance*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // void instanceProgressChanged(const Akonadi::AgentInstance&)
        this->Akonadi::AgentManager::instanceProgressChanged(*(const Akonadi::AgentInstance*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // void instanceNameChanged(const Akonadi::AgentInstance&)
        this->Akonadi::AgentManager::instanceNameChanged(*(const Akonadi::AgentInstance*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // void instanceError(const Akonadi::AgentInstance&, const QString&)
        this->Akonadi::AgentManager::instanceError(*(const Akonadi::AgentInstance*)x[1].s_class,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // void instanceWarning(const Akonadi::AgentInstance&, const QString&)
        this->Akonadi::AgentManager::instanceWarning(*(const Akonadi::AgentInstance*)x[1].s_class,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // void instanceOnline(const Akonadi::AgentInstance&, bool)
        this->Akonadi::AgentManager::instanceOnline(*(const Akonadi::AgentInstance*)x[1].s_class,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    static void x_26(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::AgentManager::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_27(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::AgentManager::trUtf8((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 const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::AgentManager::staticMetaObject;
    }
};
void xcall_Akonadi__AgentManager(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__AgentManager *xself = (x_Akonadi__AgentManager*)obj;
    switch(xi) {
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_Akonadi__AgentManager::x_3(args);	break;
        case 4: x_Akonadi__AgentManager::x_4(args);	break;
        case 5: x_Akonadi__AgentManager::x_5(args);	break;
        case 6: x_Akonadi__AgentManager::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__AgentManager::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: x_Akonadi__AgentManager::x_26(args);	break;
        case 27: x_Akonadi__AgentManager::x_27(args);	break;
        case 28: x_Akonadi__AgentManager::x_28(args);	break;
        case 29: delete (Akonadi::AgentManager*)xself;	break;
    }
}

}
