//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__ContactSearchJob : public Akonadi::ContactSearchJob, 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::ContactSearchJob*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__ContactSearchJob*)this)->Akonadi::ContactSearchJob::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__ContactSearchJob*)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::ContactSearchJob*>(this))) {
            void* xret = this->Akonadi::ContactSearchJob::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::ContactSearchJob::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::ContactSearchJob::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::ContactSearchJob::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::ContactSearchJob::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::ContactSearchJob*>(this))) {
            int xret = this->Akonadi::ContactSearchJob::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::ContactSearchJob* ContactSearchJob(QObject*)
        x_Akonadi__ContactSearchJob* xret = new x_Akonadi__ContactSearchJob((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ContactSearchJob(QObject* x1) : ContactSearchJob(x1) {}
    void x_9(Smoke::Stack x) {
        // void setQuery(Akonadi::ContactSearchJob::Criterion, const QString&)
        this->Akonadi::ContactSearchJob::setQuery((Akonadi::ContactSearchJob::Criterion)x[1].s_enum,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // void setQuery(Akonadi::ContactSearchJob::Criterion, const QString&, Akonadi::ContactSearchJob::Match)
        this->Akonadi::ContactSearchJob::setQuery((Akonadi::ContactSearchJob::Criterion)x[1].s_enum,*(const QString*)x[2].s_class,(Akonadi::ContactSearchJob::Match)x[3].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void setLimit(int)
        this->Akonadi::ContactSearchJob::setLimit((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // KABC::AddresseeList contacts() const
        KABC::AddresseeList xret = ((const x_Akonadi__ContactSearchJob*)this)->Akonadi::ContactSearchJob::contacts();
        x[0].s_class = (void*)new KABC::AddresseeList(xret);
    }
    static void x_13(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::ContactSearchJob::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::ContactSearchJob::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::ContactSearchJob* ContactSearchJob()
        x_Akonadi__ContactSearchJob* xret = new x_Akonadi__ContactSearchJob((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_16(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::ContactSearchJob::staticMetaObject;
    }
    static void x_17(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ContactSearchJob::Name;
    }
    static void x_18(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ContactSearchJob::Email;
    }
    static void x_19(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ContactSearchJob::NickName;
    }
    static void x_20(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ContactSearchJob::NameOrEmail;
    }
    static void x_21(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ContactSearchJob::ContactUid;
    }
    static void x_22(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ContactSearchJob::ExactMatch;
    }
    static void x_23(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ContactSearchJob::StartsWithMatch;
    }
    static void x_24(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ContactSearchJob::ContainsMatch;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ContactSearchJob::ContainsWordBoundaryMatch;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1056, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::ContactSearchJob::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1057, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::ContactSearchJob::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(1062, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::ContactSearchJob::qt_metacall(x1, x2, x3);
    }
    virtual void doHandleResponse(const QByteArray& x1, const QByteArray& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1760, (void*)this, x)) return;
        this->Akonadi::ItemSearchJob::doHandleResponse(x1, x2);
    }
    virtual QString errorString() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1847, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::Job::errorString();
    }
    virtual void doStart() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1759, (void*)this, x)) return;
        this->Akonadi::ItemSearchJob::doStart();
    }
    virtual bool addSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1852, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::addSubjob(x1);
    }
    virtual bool removeSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1853, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::removeSubjob(x1);
    }
    virtual bool doKill() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1854, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::doKill();
    }
    virtual void slotResult(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1856, (void*)this, x)) return;
        this->Akonadi::Job::slotResult(x1);
    }
    virtual void slotInfoMessage(KJob* x1, const QString& x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2494, (void*)this, x)) return;
        this->KCompositeJob::slotInfoMessage(x1, x2, x3);
    }
    virtual void start() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1846, (void*)this, x)) return;
        this->Akonadi::Job::start();
    }
    virtual bool doSuspend() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2508, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doSuspend();
    }
    virtual bool doResume() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2509, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doResume();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(2687, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2688, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2689, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2690, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2691, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2692, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 94: //Akonadi::ContactSearchJob::Criterion
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::ContactSearchJob::Criterion;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::ContactSearchJob::Criterion*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::ContactSearchJob::Criterion*)xdata = (Akonadi::ContactSearchJob::Criterion)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::ContactSearchJob::Criterion*)xdata;
                    break;
            }
            break;
        case 95: //Akonadi::ContactSearchJob::Match
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::ContactSearchJob::Match;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::ContactSearchJob::Match*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::ContactSearchJob::Match*)xdata = (Akonadi::ContactSearchJob::Match)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::ContactSearchJob::Match*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_Akonadi__ContactSearchJob() { this->_binding->deleted(57, (void*)this); }
};
void xenum_Akonadi__ContactSearchJob(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Akonadi__ContactSearchJob::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Akonadi__ContactSearchJob(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__ContactSearchJob *xself = (x_Akonadi__ContactSearchJob*)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__ContactSearchJob::x_3(args);	break;
        case 4: x_Akonadi__ContactSearchJob::x_4(args);	break;
        case 5: x_Akonadi__ContactSearchJob::x_5(args);	break;
        case 6: x_Akonadi__ContactSearchJob::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__ContactSearchJob::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: x_Akonadi__ContactSearchJob::x_13(args);	break;
        case 14: x_Akonadi__ContactSearchJob::x_14(args);	break;
        case 15: x_Akonadi__ContactSearchJob::x_15(args);	break;
        case 16: x_Akonadi__ContactSearchJob::x_16(args);	break;
        case 17: x_Akonadi__ContactSearchJob::x_17(args);	break;
        case 18: x_Akonadi__ContactSearchJob::x_18(args);	break;
        case 19: x_Akonadi__ContactSearchJob::x_19(args);	break;
        case 20: x_Akonadi__ContactSearchJob::x_20(args);	break;
        case 21: x_Akonadi__ContactSearchJob::x_21(args);	break;
        case 22: x_Akonadi__ContactSearchJob::x_22(args);	break;
        case 23: x_Akonadi__ContactSearchJob::x_23(args);	break;
        case 24: x_Akonadi__ContactSearchJob::x_24(args);	break;
        case 25: x_Akonadi__ContactSearchJob::x_25(args);	break;
        case 26: delete (Akonadi::ContactSearchJob*)xself;	break;
    }
}
class x_Akonadi__ContactViewer : public Akonadi::ContactViewer, 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::ContactViewer*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__ContactViewer*)this)->Akonadi::ContactViewer::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__ContactViewer*)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::ContactViewer*>(this))) {
            void* xret = this->Akonadi::ContactViewer::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::ContactViewer::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::ContactViewer::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::ContactViewer::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::ContactViewer::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::ContactViewer*>(this))) {
            int xret = this->Akonadi::ContactViewer::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::ContactViewer* ContactViewer(QWidget*)
        x_Akonadi__ContactViewer* xret = new x_Akonadi__ContactViewer((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ContactViewer(QWidget* x1) : ContactViewer(x1) {}
    void x_9(Smoke::Stack x) {
        // Akonadi::Item contact() const
        Akonadi::Item xret = ((const x_Akonadi__ContactViewer*)this)->Akonadi::ContactViewer::contact();
        x[0].s_class = (void*)new Akonadi::Item(xret);
    }
    void x_10(Smoke::Stack x) {
        // KABC::Addressee rawContact() const
        KABC::Addressee xret = ((const x_Akonadi__ContactViewer*)this)->Akonadi::ContactViewer::rawContact();
        x[0].s_class = (void*)new KABC::Addressee(xret);
    }
    void x_11(Smoke::Stack x) {
        // void setContactFormatter(Akonadi::AbstractContactFormatter*)
        this->Akonadi::ContactViewer::setContactFormatter((Akonadi::AbstractContactFormatter*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void setContact(const Akonadi::Item&)
        this->Akonadi::ContactViewer::setContact(*(const Akonadi::Item*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // void setRawContact(const KABC::Addressee&)
        this->Akonadi::ContactViewer::setRawContact(*(const KABC::Addressee*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // void urlClicked(const KUrl&)
        this->Akonadi::ContactViewer::urlClicked(*(const KUrl*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void emailClicked(const QString&, const QString&)
        this->Akonadi::ContactViewer::emailClicked(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // void phoneNumberClicked(const KABC::PhoneNumber&)
        this->Akonadi::ContactViewer::phoneNumberClicked(*(const KABC::PhoneNumber*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void smsClicked(const KABC::PhoneNumber&)
        this->Akonadi::ContactViewer::smsClicked(*(const KABC::PhoneNumber*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // void addressClicked(const KABC::Address&)
        this->Akonadi::ContactViewer::addressClicked(*(const KABC::Address*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_19(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::ContactViewer::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_20(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::ContactViewer::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_21(Smoke::Stack x) {
        // Akonadi::ContactViewer* ContactViewer()
        x_Akonadi__ContactViewer* xret = new x_Akonadi__ContactViewer((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_22(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::ContactViewer::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1082, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::ContactViewer::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1083, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::ContactViewer::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(1088, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::ContactViewer::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__ContactViewer() { this->_binding->deleted(58, (void*)this); }
};
void xcall_Akonadi__ContactViewer(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__ContactViewer *xself = (x_Akonadi__ContactViewer*)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__ContactViewer::x_3(args);	break;
        case 4: x_Akonadi__ContactViewer::x_4(args);	break;
        case 5: x_Akonadi__ContactViewer::x_5(args);	break;
        case 6: x_Akonadi__ContactViewer::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__ContactViewer::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__ContactViewer::x_19(args);	break;
        case 20: x_Akonadi__ContactViewer::x_20(args);	break;
        case 21: x_Akonadi__ContactViewer::x_21(args);	break;
        case 22: x_Akonadi__ContactViewer::x_22(args);	break;
        case 23: delete (Akonadi::ContactViewer*)xself;	break;
    }
}
class x_Akonadi__ContactViewerDialog : public Akonadi::ContactViewerDialog, 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::ContactViewerDialog*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__ContactViewerDialog*)this)->Akonadi::ContactViewerDialog::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__ContactViewerDialog*)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::ContactViewerDialog*>(this))) {
            void* xret = this->Akonadi::ContactViewerDialog::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::ContactViewerDialog::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::ContactViewerDialog::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::ContactViewerDialog::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::ContactViewerDialog::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::ContactViewerDialog*>(this))) {
            int xret = this->Akonadi::ContactViewerDialog::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::ContactViewerDialog* ContactViewerDialog(QWidget*)
        x_Akonadi__ContactViewerDialog* xret = new x_Akonadi__ContactViewerDialog((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ContactViewerDialog(QWidget* x1) : ContactViewerDialog(x1) {}
    void x_9(Smoke::Stack x) {
        // Akonadi::Item contact() const
        Akonadi::Item xret = ((const x_Akonadi__ContactViewerDialog*)this)->Akonadi::ContactViewerDialog::contact();
        x[0].s_class = (void*)new Akonadi::Item(xret);
    }
    void x_10(Smoke::Stack x) {
        // Akonadi::ContactViewer* viewer() const
        Akonadi::ContactViewer* xret = ((const x_Akonadi__ContactViewerDialog*)this)->Akonadi::ContactViewerDialog::viewer();
        x[0].s_class = (void*)xret;
    }
    void x_11(Smoke::Stack x) {
        // void setContact(const Akonadi::Item&)
        this->Akonadi::ContactViewerDialog::setContact(*(const Akonadi::Item*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_12(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::ContactViewerDialog::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_13(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::ContactViewerDialog::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // Akonadi::ContactViewerDialog* ContactViewerDialog()
        x_Akonadi__ContactViewerDialog* xret = new x_Akonadi__ContactViewerDialog((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_15(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::ContactViewerDialog::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1105, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::ContactViewerDialog::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1106, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::ContactViewerDialog::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(1111, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::ContactViewerDialog::qt_metacall(x1, x2, x3);
    }
    virtual QSize sizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2495, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KDialog::sizeHint();
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2496, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KDialog::minimumSizeHint();
    }
    virtual void setCaption(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2497, (void*)this, x)) return;
        this->KDialog::setCaption(x1);
    }
    virtual void setCaption(const QString& x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(2498, (void*)this, x)) return;
        this->KDialog::setCaption(x1, x2);
    }
    virtual void setPlainCaption(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2499, (void*)this, x)) return;
        this->KDialog::setPlainCaption(x1);
    }
    virtual void hideEvent(QHideEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2500, (void*)this, x)) return;
        this->KDialog::hideEvent(x1);
    }
    virtual void closeEvent(QCloseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2501, (void*)this, x)) return;
        this->KDialog::closeEvent(x1);
    }
    virtual void keyPressEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2502, (void*)this, x)) return;
        this->KDialog::keyPressEvent(x1);
    }
    virtual void slotButtonClicked(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2503, (void*)this, x)) return;
        this->KDialog::slotButtonClicked(x1);
    }
    virtual void done(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2649, (void*)this, x)) return;
        this->QDialog::done(x1);
    }
    virtual void accept() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2650, (void*)this, x)) return;
        this->QDialog::accept();
    }
    virtual void reject() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2651, (void*)this, x)) return;
        this->QDialog::reject();
    }
    virtual void setVisible(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(2648, (void*)this, x)) return;
        this->QDialog::setVisible(x1);
    }
    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 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(2653, (void*)this, x)) return;
        this->QDialog::resizeEvent(x1);
    }
    virtual void contextMenuEvent(QContextMenuEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2654, (void*)this, x)) return;
        this->QDialog::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(2652, (void*)this, x)) return;
        this->QDialog::showEvent(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(2655, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QDialog::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__ContactViewerDialog() { this->_binding->deleted(59, (void*)this); }
};
void xcall_Akonadi__ContactViewerDialog(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__ContactViewerDialog *xself = (x_Akonadi__ContactViewerDialog*)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__ContactViewerDialog::x_3(args);	break;
        case 4: x_Akonadi__ContactViewerDialog::x_4(args);	break;
        case 5: x_Akonadi__ContactViewerDialog::x_5(args);	break;
        case 6: x_Akonadi__ContactViewerDialog::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__ContactViewerDialog::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: x_Akonadi__ContactViewerDialog::x_12(args);	break;
        case 13: x_Akonadi__ContactViewerDialog::x_13(args);	break;
        case 14: x_Akonadi__ContactViewerDialog::x_14(args);	break;
        case 15: x_Akonadi__ContactViewerDialog::x_15(args);	break;
        case 16: delete (Akonadi::ContactViewerDialog*)xself;	break;
    }
}
class x_Akonadi__Control : public Akonadi::Control, 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::Control*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__Control*)this)->Akonadi::Control::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__Control*)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::Control*>(this))) {
            void* xret = this->Akonadi::Control::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::Control::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::Control::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::Control::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::Control::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::Control*>(this))) {
            int xret = this->Akonadi::Control::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) {
        // static bool start()
        bool xret = Akonadi::Control::start();
        x[0].s_bool = xret;
    }
    static void x_9(Smoke::Stack x) {
        // static bool start(QWidget*)
        bool xret = Akonadi::Control::start((QWidget*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_10(Smoke::Stack x) {
        // static bool stop()
        bool xret = Akonadi::Control::stop();
        x[0].s_bool = xret;
    }
    static void x_11(Smoke::Stack x) {
        // static bool stop(QWidget*)
        bool xret = Akonadi::Control::stop((QWidget*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_12(Smoke::Stack x) {
        // static bool restart()
        bool xret = Akonadi::Control::restart();
        x[0].s_bool = xret;
    }
    static void x_13(Smoke::Stack x) {
        // static bool restart(QWidget*)
        bool xret = Akonadi::Control::restart((QWidget*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_14(Smoke::Stack x) {
        // static void widgetNeedsAkonadi(QWidget*)
        Akonadi::Control::widgetNeedsAkonadi((QWidget*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_15(Smoke::Stack x) {
        // Akonadi::Control* Control()
        x_Akonadi__Control* xret = new x_Akonadi__Control();
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__Control() : Control() {}
    static void x_16(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::Control::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::Control::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) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::Control::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1121, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::Control::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1122, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::Control::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(1127, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::Control::qt_metacall(x1, x2, x3);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(2687, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2688, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2689, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2690, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2691, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2692, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_Akonadi__Control() { this->_binding->deleted(60, (void*)this); }
};
void xcall_Akonadi__Control(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__Control *xself = (x_Akonadi__Control*)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__Control::x_3(args);	break;
        case 4: x_Akonadi__Control::x_4(args);	break;
        case 5: x_Akonadi__Control::x_5(args);	break;
        case 6: x_Akonadi__Control::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__Control::x_8(args);	break;
        case 9: x_Akonadi__Control::x_9(args);	break;
        case 10: x_Akonadi__Control::x_10(args);	break;
        case 11: x_Akonadi__Control::x_11(args);	break;
        case 12: x_Akonadi__Control::x_12(args);	break;
        case 13: x_Akonadi__Control::x_13(args);	break;
        case 14: x_Akonadi__Control::x_14(args);	break;
        case 15: x_Akonadi__Control::x_15(args);	break;
        case 16: x_Akonadi__Control::x_16(args);	break;
        case 17: x_Akonadi__Control::x_17(args);	break;
        case 18: x_Akonadi__Control::x_18(args);	break;
        case 19: delete (Akonadi::Control*)xself;	break;
    }
}
class x_Akonadi__Entity : public Akonadi::Entity {
    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) {
        // void setId(long long)
        this->Akonadi::Entity::setId(*(long long*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_2(Smoke::Stack x) {
        // long long id() const
        long long xret = ((const x_Akonadi__Entity*)this)->Akonadi::Entity::id();
        x[0].s_class = (void*)new long long(xret);
    }
    void x_3(Smoke::Stack x) {
        // void setRemoteId(const QString&)
        this->Akonadi::Entity::setRemoteId(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // QString remoteId() const
        QString xret = ((const x_Akonadi__Entity*)this)->Akonadi::Entity::remoteId();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_5(Smoke::Stack x) {
        // void setRemoteRevision(const QString&)
        this->Akonadi::Entity::setRemoteRevision(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_6(Smoke::Stack x) {
        // QString remoteRevision() const
        QString xret = ((const x_Akonadi__Entity*)this)->Akonadi::Entity::remoteRevision();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_Akonadi__Entity*)this)->Akonadi::Entity::isValid();
        x[0].s_bool = xret;
    }
    void x_8(Smoke::Stack x) {
        // bool operator==(const Akonadi::Entity&) const
        bool xret = ((const x_Akonadi__Entity*)this)->Akonadi::Entity::operator==(*(const Akonadi::Entity*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_9(Smoke::Stack x) {
        // bool operator!=(const Akonadi::Entity&) const
        bool xret = ((const x_Akonadi__Entity*)this)->Akonadi::Entity::operator!=(*(const Akonadi::Entity*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // Akonadi::Entity& operator=(const Akonadi::Entity&)
        Akonadi::Entity& xret = this->Akonadi::Entity::operator=(*(const Akonadi::Entity*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_11(Smoke::Stack x) {
        // bool operator<(const Akonadi::Entity&) const
        bool xret = ((const x_Akonadi__Entity*)this)->Akonadi::Entity::operator<(*(const Akonadi::Entity*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // Akonadi::Collection parentCollection() const
        Akonadi::Collection xret = ((const x_Akonadi__Entity*)this)->Akonadi::Entity::parentCollection();
        x[0].s_class = (void*)new Akonadi::Collection(xret);
    }
    void x_13(Smoke::Stack x) {
        // Akonadi::Collection& parentCollection()
        Akonadi::Collection& xret = this->Akonadi::Entity::parentCollection();
        x[0].s_class = (void*)&xret;
    }
    void x_14(Smoke::Stack x) {
        // void setParentCollection(const Akonadi::Collection&)
        this->Akonadi::Entity::setParentCollection(*(const Akonadi::Collection*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void addAttribute(Akonadi::Attribute*)
        this->Akonadi::Entity::addAttribute((Akonadi::Attribute*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // void removeAttribute(const QByteArray&)
        this->Akonadi::Entity::removeAttribute(*(const QByteArray*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // bool hasAttribute(const QByteArray&) const
        bool xret = ((const x_Akonadi__Entity*)this)->Akonadi::Entity::hasAttribute(*(const QByteArray*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_18(Smoke::Stack x) {
        // QList<Akonadi::Attribute*> attributes() const
        QList<Akonadi::Attribute*> xret = ((const x_Akonadi__Entity*)this)->Akonadi::Entity::attributes();
        x[0].s_class = (void*)new QList<Akonadi::Attribute*>(xret);
    }
    void x_19(Smoke::Stack x) {
        // void clearAttributes()
        this->Akonadi::Entity::clearAttributes();
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // Akonadi::Attribute* attribute(const QByteArray&) const
        Akonadi::Attribute* xret = ((const x_Akonadi__Entity*)this)->Akonadi::Entity::attribute(*(const QByteArray*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    static void x_21(Smoke::Stack x) {
        // Akonadi::Entity* Entity(const Akonadi::Entity&)
        x_Akonadi__Entity* xret = new x_Akonadi__Entity(*(const Akonadi::Entity*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__Entity(const Akonadi::Entity& x1) : Entity(x1) {}
    static void x_22(Smoke::Stack x) {
        // Akonadi::Entity* Entity(Akonadi::EntityPrivate*)
        x_Akonadi__Entity* xret = new x_Akonadi__Entity((Akonadi::EntityPrivate*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__Entity(Akonadi::EntityPrivate* x1) : Entity(x1) {}
    void x_23(Smoke::Stack x) {
        // Akonadi::EntityPrivate* d_func()
        Akonadi::EntityPrivate* xret = this->Akonadi::Entity::d_func();
        x[0].s_class = (void*)xret;
    }
    void x_24(Smoke::Stack x) {
        // const Akonadi::EntityPrivate* d_func() const
        const Akonadi::EntityPrivate* xret = ((const x_Akonadi__Entity*)this)->Akonadi::Entity::d_func();
        x[0].s_class = (void*)xret;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Entity::AddIfMissing;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 101: //Akonadi::Entity::CreateOption
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::Entity::CreateOption;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::Entity::CreateOption*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::Entity::CreateOption*)xdata = (Akonadi::Entity::CreateOption)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::Entity::CreateOption*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_Akonadi__Entity() { this->_binding->deleted(61, (void*)this); }
};
void xenum_Akonadi__Entity(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Akonadi__Entity::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Akonadi__Entity(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__Entity *xself = (x_Akonadi__Entity*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: x_Akonadi__Entity::x_21(args);	break;
        case 22: x_Akonadi__Entity::x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: x_Akonadi__Entity::x_25(args);	break;
    }
}
class x_Akonadi__EntityDisplayAttribute : public Akonadi::EntityDisplayAttribute, 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::EntityDisplayAttribute* EntityDisplayAttribute()
        x_Akonadi__EntityDisplayAttribute* xret = new x_Akonadi__EntityDisplayAttribute();
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__EntityDisplayAttribute() : EntityDisplayAttribute() {}
    void x_2(Smoke::Stack x) {
        // void setDisplayName(const QString&)
        this->Akonadi::EntityDisplayAttribute::setDisplayName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_3(Smoke::Stack x) {
        // QString displayName() const
        QString xret = ((const x_Akonadi__EntityDisplayAttribute*)this)->Akonadi::EntityDisplayAttribute::displayName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_4(Smoke::Stack x) {
        // void setIconName(const QString&)
        this->Akonadi::EntityDisplayAttribute::setIconName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) {
        // KIcon icon() const
        KIcon xret = ((const x_Akonadi__EntityDisplayAttribute*)this)->Akonadi::EntityDisplayAttribute::icon();
        x[0].s_class = (void*)new KIcon(xret);
    }
    void x_6(Smoke::Stack x) {
        // QString iconName() const
        QString xret = ((const x_Akonadi__EntityDisplayAttribute*)this)->Akonadi::EntityDisplayAttribute::iconName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // void setActiveIconName(const QString&)
        this->Akonadi::EntityDisplayAttribute::setActiveIconName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // KIcon activeIcon() const
        KIcon xret = ((const x_Akonadi__EntityDisplayAttribute*)this)->Akonadi::EntityDisplayAttribute::activeIcon();
        x[0].s_class = (void*)new KIcon(xret);
    }
    void x_9(Smoke::Stack x) {
        // QString activeIconName() const
        QString xret = ((const x_Akonadi__EntityDisplayAttribute*)this)->Akonadi::EntityDisplayAttribute::activeIconName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_10(Smoke::Stack x) {
        // QColor backgroundColor() const
        QColor xret = ((const x_Akonadi__EntityDisplayAttribute*)this)->Akonadi::EntityDisplayAttribute::backgroundColor();
        x[0].s_class = (void*)new QColor(xret);
    }
    void x_11(Smoke::Stack x) {
        // void setBackgroundColor(const QColor&)
        this->Akonadi::EntityDisplayAttribute::setBackgroundColor(*(const QColor*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // QByteArray type() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityDisplayAttribute*>(this))) {
            QByteArray xret = ((const x_Akonadi__EntityDisplayAttribute*)this)->Akonadi::EntityDisplayAttribute::type();
            x[0].s_class = (void*)new QByteArray(xret);
        } else {
            QByteArray xret = ((const x_Akonadi__EntityDisplayAttribute*)this)->type();
            x[0].s_class = (void*)new QByteArray(xret);
        }
    }
    void x_13(Smoke::Stack x) {
        // Akonadi::EntityDisplayAttribute* clone() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityDisplayAttribute*>(this))) {
            Akonadi::EntityDisplayAttribute* xret = ((const x_Akonadi__EntityDisplayAttribute*)this)->Akonadi::EntityDisplayAttribute::clone();
            x[0].s_class = (void*)xret;
        } else {
            Akonadi::EntityDisplayAttribute* xret = ((const x_Akonadi__EntityDisplayAttribute*)this)->clone();
            x[0].s_class = (void*)xret;
        }
    }
    void x_14(Smoke::Stack x) {
        // QByteArray serialized() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityDisplayAttribute*>(this))) {
            QByteArray xret = ((const x_Akonadi__EntityDisplayAttribute*)this)->Akonadi::EntityDisplayAttribute::serialized();
            x[0].s_class = (void*)new QByteArray(xret);
        } else {
            QByteArray xret = ((const x_Akonadi__EntityDisplayAttribute*)this)->serialized();
            x[0].s_class = (void*)new QByteArray(xret);
        }
    }
    void x_15(Smoke::Stack x) {
        // void deserialize(const QByteArray&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityDisplayAttribute*>(this))) {
            this->Akonadi::EntityDisplayAttribute::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)
        }
    }
    static void x_16(Smoke::Stack x) {
        // Akonadi::EntityDisplayAttribute* EntityDisplayAttribute(const Akonadi::EntityDisplayAttribute&)
        x_Akonadi__EntityDisplayAttribute* xret = new x_Akonadi__EntityDisplayAttribute(*(const Akonadi::EntityDisplayAttribute*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__EntityDisplayAttribute(const Akonadi::EntityDisplayAttribute& x1) : EntityDisplayAttribute(x1) {}
    virtual QByteArray type() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1177, (void*)this, x)) {
            QByteArray* xptr = (QByteArray*)x[0].s_class;
            QByteArray xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::EntityDisplayAttribute::type();
    }
    virtual Akonadi::EntityDisplayAttribute* clone() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1178, (void*)this, x)) return (Akonadi::EntityDisplayAttribute*)x[0].s_class;
        return this->Akonadi::EntityDisplayAttribute::clone();
    }
    virtual QByteArray serialized() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1179, (void*)this, x)) {
            QByteArray* xptr = (QByteArray*)x[0].s_class;
            QByteArray xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::EntityDisplayAttribute::serialized();
    }
    virtual void deserialize(const QByteArray& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1180, (void*)this, x)) return;
        this->Akonadi::EntityDisplayAttribute::deserialize(x1);
    }
    ~x_Akonadi__EntityDisplayAttribute() { this->_binding->deleted(62, (void*)this); }
};
void xcall_Akonadi__EntityDisplayAttribute(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__EntityDisplayAttribute *xself = (x_Akonadi__EntityDisplayAttribute*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Akonadi__EntityDisplayAttribute::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: x_Akonadi__EntityDisplayAttribute::x_16(args);	break;
        case 17: delete (Akonadi::EntityDisplayAttribute*)xself;	break;
    }
}
class x_Akonadi__EntityHiddenAttribute : public Akonadi::EntityHiddenAttribute, 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::EntityHiddenAttribute* EntityHiddenAttribute()
        x_Akonadi__EntityHiddenAttribute* xret = new x_Akonadi__EntityHiddenAttribute();
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__EntityHiddenAttribute() : EntityHiddenAttribute() {}
    void x_2(Smoke::Stack x) {
        // QByteArray type() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityHiddenAttribute*>(this))) {
            QByteArray xret = ((const x_Akonadi__EntityHiddenAttribute*)this)->Akonadi::EntityHiddenAttribute::type();
            x[0].s_class = (void*)new QByteArray(xret);
        } else {
            QByteArray xret = ((const x_Akonadi__EntityHiddenAttribute*)this)->type();
            x[0].s_class = (void*)new QByteArray(xret);
        }
    }
    void x_3(Smoke::Stack x) {
        // Akonadi::EntityHiddenAttribute* clone() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityHiddenAttribute*>(this))) {
            Akonadi::EntityHiddenAttribute* xret = ((const x_Akonadi__EntityHiddenAttribute*)this)->Akonadi::EntityHiddenAttribute::clone();
            x[0].s_class = (void*)xret;
        } else {
            Akonadi::EntityHiddenAttribute* xret = ((const x_Akonadi__EntityHiddenAttribute*)this)->clone();
            x[0].s_class = (void*)xret;
        }
    }
    void x_4(Smoke::Stack x) {
        // QByteArray serialized() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityHiddenAttribute*>(this))) {
            QByteArray xret = ((const x_Akonadi__EntityHiddenAttribute*)this)->Akonadi::EntityHiddenAttribute::serialized();
            x[0].s_class = (void*)new QByteArray(xret);
        } else {
            QByteArray xret = ((const x_Akonadi__EntityHiddenAttribute*)this)->serialized();
            x[0].s_class = (void*)new QByteArray(xret);
        }
    }
    void x_5(Smoke::Stack x) {
        // void deserialize(const QByteArray&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityHiddenAttribute*>(this))) {
            this->Akonadi::EntityHiddenAttribute::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)
        }
    }
    static void x_6(Smoke::Stack x) {
        // Akonadi::EntityHiddenAttribute* EntityHiddenAttribute(const Akonadi::EntityHiddenAttribute&)
        x_Akonadi__EntityHiddenAttribute* xret = new x_Akonadi__EntityHiddenAttribute(*(const Akonadi::EntityHiddenAttribute*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__EntityHiddenAttribute(const Akonadi::EntityHiddenAttribute& x1) : EntityHiddenAttribute(x1) {}
    virtual QByteArray type() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1184, (void*)this, x)) {
            QByteArray* xptr = (QByteArray*)x[0].s_class;
            QByteArray xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::EntityHiddenAttribute::type();
    }
    virtual Akonadi::EntityHiddenAttribute* clone() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1185, (void*)this, x)) return (Akonadi::EntityHiddenAttribute*)x[0].s_class;
        return this->Akonadi::EntityHiddenAttribute::clone();
    }
    virtual QByteArray serialized() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1186, (void*)this, x)) {
            QByteArray* xptr = (QByteArray*)x[0].s_class;
            QByteArray xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::EntityHiddenAttribute::serialized();
    }
    virtual void deserialize(const QByteArray& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1187, (void*)this, x)) return;
        this->Akonadi::EntityHiddenAttribute::deserialize(x1);
    }
    ~x_Akonadi__EntityHiddenAttribute() { this->_binding->deleted(63, (void*)this); }
};
void xcall_Akonadi__EntityHiddenAttribute(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__EntityHiddenAttribute *xself = (x_Akonadi__EntityHiddenAttribute*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Akonadi__EntityHiddenAttribute::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: x_Akonadi__EntityHiddenAttribute::x_6(args);	break;
        case 7: delete (Akonadi::EntityHiddenAttribute*)xself;	break;
    }
}
class x_Akonadi__EntityListView : public Akonadi::EntityListView, 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::EntityListView*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__EntityListView*)this)->Akonadi::EntityListView::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__EntityListView*)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::EntityListView*>(this))) {
            void* xret = this->Akonadi::EntityListView::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::EntityListView::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::EntityListView::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::EntityListView::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::EntityListView::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::EntityListView*>(this))) {
            int xret = this->Akonadi::EntityListView::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::EntityListView* EntityListView(QWidget*)
        x_Akonadi__EntityListView* xret = new x_Akonadi__EntityListView((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__EntityListView(QWidget* x1) : EntityListView(x1) {}
    static void x_9(Smoke::Stack x) {
        // Akonadi::EntityListView* EntityListView(KXMLGUIClient*, QWidget*)
        x_Akonadi__EntityListView* xret = new x_Akonadi__EntityListView((KXMLGUIClient*)x[1].s_class,(QWidget*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__EntityListView(KXMLGUIClient* x1, QWidget* x2) : EntityListView(x1, x2) {}
    void x_10(Smoke::Stack x) {
        // void setXmlGuiClient(KXMLGUIClient*)
        this->Akonadi::EntityListView::setXmlGuiClient((KXMLGUIClient*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // KXMLGUIClient* xmlGuiClient() const
        KXMLGUIClient* xret = ((const x_Akonadi__EntityListView*)this)->Akonadi::EntityListView::xmlGuiClient();
        x[0].s_class = (void*)xret;
    }
    void x_12(Smoke::Stack x) {
        // virtual void setModel(QAbstractItemModel*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityListView*>(this))) {
            this->Akonadi::EntityListView::setModel((QAbstractItemModel*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setModel((QAbstractItemModel*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_13(Smoke::Stack x) {
        // void setDropActionMenuEnabled(bool)
        this->Akonadi::EntityListView::setDropActionMenuEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // bool isDropActionMenuEnabled() const
        bool xret = ((const x_Akonadi__EntityListView*)this)->Akonadi::EntityListView::isDropActionMenuEnabled();
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // void clicked(const Akonadi::Collection&)
        this->Akonadi::EntityListView::clicked(*(const Akonadi::Collection*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // void clicked(const Akonadi::Item&)
        this->Akonadi::EntityListView::clicked(*(const Akonadi::Item*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void doubleClicked(const Akonadi::Collection&)
        this->Akonadi::EntityListView::doubleClicked(*(const Akonadi::Collection*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // void doubleClicked(const Akonadi::Item&)
        this->Akonadi::EntityListView::doubleClicked(*(const Akonadi::Item*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // void currentChanged(const Akonadi::Collection&)
        this->Akonadi::EntityListView::currentChanged(*(const Akonadi::Collection*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // void currentChanged(const Akonadi::Item&)
        this->Akonadi::EntityListView::currentChanged(*(const Akonadi::Item*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // void currentChanged(const QModelIndex&, const QModelIndex&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityListView*>(this))) {
            this->Akonadi::EntityListView::currentChanged(*(const QModelIndex*)x[1].s_class,*(const QModelIndex*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->currentChanged(*(const QModelIndex*)x[1].s_class,*(const QModelIndex*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_22(Smoke::Stack x) {
        // virtual void startDrag(QFlags<Qt::DropAction>)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityListView*>(this))) {
            this->Akonadi::EntityListView::startDrag((QFlags<Qt::DropAction>)x[1].s_uint);
            (void)x; // noop (for compiler warning)
        } else {
            this->startDrag((QFlags<Qt::DropAction>)x[1].s_uint);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_23(Smoke::Stack x) {
        // virtual void dropEvent(QDropEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityListView*>(this))) {
            this->Akonadi::EntityListView::dropEvent((QDropEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->dropEvent((QDropEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_24(Smoke::Stack x) {
        // virtual void dragMoveEvent(QDragMoveEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityListView*>(this))) {
            this->Akonadi::EntityListView::dragMoveEvent((QDragMoveEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->dragMoveEvent((QDragMoveEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_25(Smoke::Stack x) {
        // virtual void contextMenuEvent(QContextMenuEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityListView*>(this))) {
            this->Akonadi::EntityListView::contextMenuEvent((QContextMenuEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->contextMenuEvent((QContextMenuEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_26(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::EntityListView::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::EntityListView::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) {
        // Akonadi::EntityListView* EntityListView()
        x_Akonadi__EntityListView* xret = new x_Akonadi__EntityListView((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_29(Smoke::Stack x) {
        // Akonadi::EntityListView* EntityListView(KXMLGUIClient*)
        x_Akonadi__EntityListView* xret = new x_Akonadi__EntityListView((KXMLGUIClient*)x[1].s_class,(QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_30(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::EntityListView::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1190, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::EntityListView::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1191, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::EntityListView::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(1196, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::EntityListView::qt_metacall(x1, x2, x3);
    }
    virtual void setModel(QAbstractItemModel* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1201, (void*)this, x)) return;
        this->Akonadi::EntityListView::setModel(x1);
    }
    virtual void startDrag(QFlags<Qt::DropAction> x1) {
        Smoke::StackItem x[2];
        x[1].s_uint = (uint)x1;
        if (this->_binding->callMethod(1211, (void*)this, x)) return;
        this->Akonadi::EntityListView::startDrag(x1);
    }
    virtual void dropEvent(QDropEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1212, (void*)this, x)) return;
        this->Akonadi::EntityListView::dropEvent(x1);
    }
    virtual void dragMoveEvent(QDragMoveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1213, (void*)this, x)) return;
        this->Akonadi::EntityListView::dragMoveEvent(x1);
    }
    virtual void contextMenuEvent(QContextMenuEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1214, (void*)this, x)) return;
        this->Akonadi::EntityListView::contextMenuEvent(x1);
    }
    virtual void setSelectionModel(QItemSelectionModel* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2551, (void*)this, x)) return;
        this->QAbstractItemView::setSelectionModel(x1);
    }
    virtual void keyboardSearch(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2552, (void*)this, x)) return;
        this->QAbstractItemView::keyboardSearch(x1);
    }
    virtual QRect visualRect(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2659, (void*)this, x)) {
            QRect* xptr = (QRect*)x[0].s_class;
            QRect xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QListView::visualRect(x1);
    }
    virtual void scrollTo(const QModelIndex& x1, QAbstractItemView::ScrollHint x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(2660, (void*)this, x)) return;
        this->QListView::scrollTo(x1, x2);
    }
    virtual QModelIndex indexAt(const QPoint& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2661, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QListView::indexAt(x1);
    }
    virtual int sizeHintForRow(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2553, (void*)this, x)) return (int)x[0].s_int;
        return this->QAbstractItemView::sizeHintForRow(x1);
    }
    virtual int sizeHintForColumn(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2554, (void*)this, x)) return (int)x[0].s_int;
        return this->QAbstractItemView::sizeHintForColumn(x1);
    }
    virtual QVariant inputMethodQuery(Qt::InputMethodQuery x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(2555, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemView::inputMethodQuery(x1);
    }
    virtual void reset() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2663, (void*)this, x)) return;
        this->QListView::reset();
    }
    virtual void setRootIndex(const QModelIndex& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2664, (void*)this, x)) return;
        this->QListView::setRootIndex(x1);
    }
    virtual void doItemsLayout() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2662, (void*)this, x)) return;
        this->QListView::doItemsLayout();
    }
    virtual void selectAll() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2556, (void*)this, x)) return;
        this->QAbstractItemView::selectAll();
    }
    virtual void dataChanged(const QModelIndex& x1, const QModelIndex& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(2667, (void*)this, x)) return;
        this->QListView::dataChanged(x1, x2);
    }
    virtual void rowsInserted(const QModelIndex& x1, int x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(2668, (void*)this, x)) return;
        this->QListView::rowsInserted(x1, x2, x3);
    }
    virtual void rowsAboutToBeRemoved(const QModelIndex& x1, int x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(2669, (void*)this, x)) return;
        this->QListView::rowsAboutToBeRemoved(x1, x2, x3);
    }
    virtual void selectionChanged(const QItemSelection& x1, const QItemSelection& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(2685, (void*)this, x)) return;
        this->QListView::selectionChanged(x1, x2);
    }
    virtual void currentChanged(const QModelIndex& x1, const QModelIndex& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1210, (void*)this, x)) return;
        this->Akonadi::EntityListView::currentChanged(x1, x2);
    }
    virtual void updateEditorData() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2557, (void*)this, x)) return;
        this->QAbstractItemView::updateEditorData();
    }
    virtual void updateEditorGeometries() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2558, (void*)this, x)) return;
        this->QAbstractItemView::updateEditorGeometries();
    }
    virtual void updateGeometries() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2683, (void*)this, x)) return;
        this->QListView::updateGeometries();
    }
    virtual void verticalScrollbarAction(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2559, (void*)this, x)) return;
        this->QAbstractItemView::verticalScrollbarAction(x1);
    }
    virtual void horizontalScrollbarAction(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2560, (void*)this, x)) return;
        this->QAbstractItemView::horizontalScrollbarAction(x1);
    }
    virtual void verticalScrollbarValueChanged(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2561, (void*)this, x)) return;
        this->QAbstractItemView::verticalScrollbarValueChanged(x1);
    }
    virtual void horizontalScrollbarValueChanged(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2562, (void*)this, x)) return;
        this->QAbstractItemView::horizontalScrollbarValueChanged(x1);
    }
    virtual void closeEditor(QWidget* x1, QAbstractItemDelegate::EndEditHint x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(2563, (void*)this, x)) return;
        this->QAbstractItemView::closeEditor(x1, x2);
    }
    virtual void commitData(QWidget* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2564, (void*)this, x)) return;
        this->QAbstractItemView::commitData(x1);
    }
    virtual void editorDestroyed(QObject* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2565, (void*)this, x)) return;
        this->QAbstractItemView::editorDestroyed(x1);
    }
    virtual QModelIndex moveCursor(QAbstractItemView::CursorAction x1, QFlags<Qt::KeyboardModifier> x2) {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_uint = (uint)x2;
        if (this->_binding->callMethod(2679, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QListView::moveCursor(x1, x2);
    }
    virtual int horizontalOffset() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2677, (void*)this, x)) return (int)x[0].s_int;
        return this->QListView::horizontalOffset();
    }
    virtual int verticalOffset() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2678, (void*)this, x)) return (int)x[0].s_int;
        return this->QListView::verticalOffset();
    }
    virtual bool isIndexHidden(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2684, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QListView::isIndexHidden(x1);
    }
    virtual void setSelection(const QRect& x1, QFlags<QItemSelectionModel::SelectionFlag> x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_uint = (uint)x2;
        if (this->_binding->callMethod(2680, (void*)this, x)) return;
        this->QListView::setSelection(x1, x2);
    }
    virtual QRegion visualRegionForSelection(const QItemSelection& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2681, (void*)this, x)) {
            QRegion* xptr = (QRegion*)x[0].s_class;
            QRegion xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QListView::visualRegionForSelection(x1);
    }
    virtual QList<QModelIndex> selectedIndexes() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2682, (void*)this, x)) {
            QList<QModelIndex>* xptr = (QList<QModelIndex>*)x[0].s_class;
            QList<QModelIndex> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QListView::selectedIndexes();
    }
    virtual bool edit(const QModelIndex& x1, QAbstractItemView::EditTrigger x2, QEvent* x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_enum = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(2566, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemView::edit(x1, x2, x3);
    }
    virtual QFlags<QItemSelectionModel::SelectionFlag> selectionCommand(const QModelIndex& x1, const QEvent* x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(2567, (void*)this, x)) return (QFlags<QItemSelectionModel::SelectionFlag>)x[0].s_uint;
        return this->QAbstractItemView::selectionCommand(x1, x2);
    }
    virtual QStyleOptionViewItem viewOptions() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2675, (void*)this, x)) {
            QStyleOptionViewItem* xptr = (QStyleOptionViewItem*)x[0].s_class;
            QStyleOptionViewItem xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QListView::viewOptions();
    }
    virtual bool viewportEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2572, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemView::viewportEvent(x1);
    }
    virtual void scrollContentsBy(int x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(2666, (void*)this, x)) return;
        this->QListView::scrollContentsBy(x1, x2);
    }
    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(2627, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractScrollArea::sizeHint();
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2626, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractScrollArea::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(2573, (void*)this, x)) return;
        this->QAbstractItemView::mousePressEvent(x1);
    }
    virtual void mouseReleaseEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2671, (void*)this, x)) return;
        this->QListView::mouseReleaseEvent(x1);
    }
    virtual void mouseDoubleClickEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2574, (void*)this, x)) return;
        this->QAbstractItemView::mouseDoubleClickEvent(x1);
    }
    virtual void mouseMoveEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2670, (void*)this, x)) return;
        this->QListView::mouseMoveEvent(x1);
    }
    virtual void wheelEvent(QWheelEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2628, (void*)this, x)) return;
        this->QAbstractScrollArea::wheelEvent(x1);
    }
    virtual void keyPressEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2580, (void*)this, x)) return;
        this->QAbstractItemView::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(2578, (void*)this, x)) return;
        this->QAbstractItemView::focusInEvent(x1);
    }
    virtual void focusOutEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2579, (void*)this, x)) return;
        this->QAbstractItemView::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(2676, (void*)this, x)) return;
        this->QListView::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(2673, (void*)this, x)) return;
        this->QListView::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 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(2575, (void*)this, x)) return;
        this->QAbstractItemView::dragEnterEvent(x1);
    }
    virtual void dragLeaveEvent(QDragLeaveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2674, (void*)this, x)) return;
        this->QListView::dragLeaveEvent(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(2658, (void*)this, x)) return;
        this->QFrame::changeEvent(x1);
    }
    virtual void inputMethodEvent(QInputMethodEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2582, (void*)this, x)) return;
        this->QAbstractItemView::inputMethodEvent(x1);
    }
    virtual bool focusNextPrevChild(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(2570, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemView::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(2665, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QListView::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(2672, (void*)this, x)) return;
        this->QListView::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__EntityListView() { this->_binding->deleted(64, (void*)this); }
};
void xcall_Akonadi__EntityListView(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__EntityListView *xself = (x_Akonadi__EntityListView*)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__EntityListView::x_3(args);	break;
        case 4: x_Akonadi__EntityListView::x_4(args);	break;
        case 5: x_Akonadi__EntityListView::x_5(args);	break;
        case 6: x_Akonadi__EntityListView::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__EntityListView::x_8(args);	break;
        case 9: x_Akonadi__EntityListView::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__EntityListView::x_26(args);	break;
        case 27: x_Akonadi__EntityListView::x_27(args);	break;
        case 28: x_Akonadi__EntityListView::x_28(args);	break;
        case 29: x_Akonadi__EntityListView::x_29(args);	break;
        case 30: x_Akonadi__EntityListView::x_30(args);	break;
        case 31: delete (Akonadi::EntityListView*)xself;	break;
    }
}
class x_Akonadi__EntityMimeTypeFilterModel : public Akonadi::EntityMimeTypeFilterModel, 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::EntityMimeTypeFilterModel*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->Akonadi::EntityMimeTypeFilterModel::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)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::EntityMimeTypeFilterModel*>(this))) {
            void* xret = this->Akonadi::EntityMimeTypeFilterModel::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::EntityMimeTypeFilterModel::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::EntityMimeTypeFilterModel::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::EntityMimeTypeFilterModel::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::EntityMimeTypeFilterModel::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::EntityMimeTypeFilterModel*>(this))) {
            int xret = this->Akonadi::EntityMimeTypeFilterModel::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::EntityMimeTypeFilterModel* EntityMimeTypeFilterModel(QObject*)
        x_Akonadi__EntityMimeTypeFilterModel* xret = new x_Akonadi__EntityMimeTypeFilterModel((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__EntityMimeTypeFilterModel(QObject* x1) : EntityMimeTypeFilterModel(x1) {}
    void x_9(Smoke::Stack x) {
        // void addMimeTypeInclusionFilters(const QStringList&)
        this->Akonadi::EntityMimeTypeFilterModel::addMimeTypeInclusionFilters(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // void addMimeTypeExclusionFilters(const QStringList&)
        this->Akonadi::EntityMimeTypeFilterModel::addMimeTypeExclusionFilters(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void addMimeTypeInclusionFilter(const QString&)
        this->Akonadi::EntityMimeTypeFilterModel::addMimeTypeInclusionFilter(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void addMimeTypeExclusionFilter(const QString&)
        this->Akonadi::EntityMimeTypeFilterModel::addMimeTypeExclusionFilter(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // QStringList mimeTypeInclusionFilters() const
        QStringList xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->Akonadi::EntityMimeTypeFilterModel::mimeTypeInclusionFilters();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_14(Smoke::Stack x) {
        // QStringList mimeTypeExclusionFilters() const
        QStringList xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->Akonadi::EntityMimeTypeFilterModel::mimeTypeExclusionFilters();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_15(Smoke::Stack x) {
        // void clearFilters()
        this->Akonadi::EntityMimeTypeFilterModel::clearFilters();
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // void setHeaderGroup(Akonadi::EntityTreeModel::HeaderGroup)
        this->Akonadi::EntityMimeTypeFilterModel::setHeaderGroup((Akonadi::EntityTreeModel::HeaderGroup)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // virtual QVariant headerData(int, Qt::Orientation, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityMimeTypeFilterModel*>(this))) {
            QVariant xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->Akonadi::EntityMimeTypeFilterModel::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__EntityMimeTypeFilterModel*)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_18(Smoke::Stack x) {
        // virtual bool hasChildren(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityMimeTypeFilterModel*>(this))) {
            bool xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->Akonadi::EntityMimeTypeFilterModel::hasChildren(*(const QModelIndex*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->hasChildren(*(const QModelIndex*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_19(Smoke::Stack x) {
        // virtual bool canFetchMore(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityMimeTypeFilterModel*>(this))) {
            bool xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->Akonadi::EntityMimeTypeFilterModel::canFetchMore(*(const QModelIndex*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->canFetchMore(*(const QModelIndex*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_20(Smoke::Stack x) {
        // virtual QList<QModelIndex> match(const QModelIndex&, int, const QVariant&, int, QFlags<Qt::MatchFlag>) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityMimeTypeFilterModel*>(this))) {
            QList<QModelIndex> xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->Akonadi::EntityMimeTypeFilterModel::match(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,*(const QVariant*)x[3].s_class,(int)x[4].s_int,(QFlags<Qt::MatchFlag>)x[5].s_uint);
            x[0].s_class = (void*)new QList<QModelIndex>(xret);
        } else {
            QList<QModelIndex> xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->match(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,*(const QVariant*)x[3].s_class,(int)x[4].s_int,(QFlags<Qt::MatchFlag>)x[5].s_uint);
            x[0].s_class = (void*)new QList<QModelIndex>(xret);
        }
    }
    void x_21(Smoke::Stack x) {
        // virtual int columnCount(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityMimeTypeFilterModel*>(this))) {
            int xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->Akonadi::EntityMimeTypeFilterModel::columnCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->columnCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        }
    }
    void x_22(Smoke::Stack x) {
        // virtual bool filterAcceptsRow(int, const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityMimeTypeFilterModel*>(this))) {
            bool xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->Akonadi::EntityMimeTypeFilterModel::filterAcceptsRow((int)x[1].s_int,*(const QModelIndex*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->filterAcceptsRow((int)x[1].s_int,*(const QModelIndex*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_23(Smoke::Stack x) {
        // virtual bool filterAcceptsColumn(int, const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityMimeTypeFilterModel*>(this))) {
            bool xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->Akonadi::EntityMimeTypeFilterModel::filterAcceptsColumn((int)x[1].s_int,*(const QModelIndex*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->filterAcceptsColumn((int)x[1].s_int,*(const QModelIndex*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_24(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::EntityMimeTypeFilterModel::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_25(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::EntityMimeTypeFilterModel::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_26(Smoke::Stack x) {
        // Akonadi::EntityMimeTypeFilterModel* EntityMimeTypeFilterModel()
        x_Akonadi__EntityMimeTypeFilterModel* xret = new x_Akonadi__EntityMimeTypeFilterModel((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_27(Smoke::Stack x) {
        // QVariant headerData(int, Qt::Orientation) const
        QVariant xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->Akonadi::EntityMimeTypeFilterModel::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_28(Smoke::Stack x) {
        // bool hasChildren() const
        bool xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->Akonadi::EntityMimeTypeFilterModel::hasChildren((const QModelIndex&)QModelIndex());
        x[0].s_bool = xret;
    }
    void x_29(Smoke::Stack x) {
        // QList<QModelIndex> match(const QModelIndex&, int, const QVariant&) const
        QList<QModelIndex> xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->Akonadi::EntityMimeTypeFilterModel::match(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,*(const QVariant*)x[3].s_class,(int)1,(QFlags<Qt::MatchFlag>)Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap));
        x[0].s_class = (void*)new QList<QModelIndex>(xret);
    }
    void x_30(Smoke::Stack x) {
        // QList<QModelIndex> match(const QModelIndex&, int, const QVariant&, int) const
        QList<QModelIndex> xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->Akonadi::EntityMimeTypeFilterModel::match(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,*(const QVariant*)x[3].s_class,(int)x[4].s_int,(QFlags<Qt::MatchFlag>)Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap));
        x[0].s_class = (void*)new QList<QModelIndex>(xret);
    }
    void x_31(Smoke::Stack x) {
        // int columnCount() const
        int xret = ((const x_Akonadi__EntityMimeTypeFilterModel*)this)->Akonadi::EntityMimeTypeFilterModel::columnCount((const QModelIndex&)QModelIndex());
        x[0].s_int = xret;
    }
    static void x_32(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::EntityMimeTypeFilterModel::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1221, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::EntityMimeTypeFilterModel::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1222, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::EntityMimeTypeFilterModel::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(1227, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::EntityMimeTypeFilterModel::qt_metacall(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(1237, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::EntityMimeTypeFilterModel::headerData(x1, x2, x3);
    }
    virtual bool hasChildren(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1238, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::EntityMimeTypeFilterModel::hasChildren(x1);
    }
    virtual bool canFetchMore(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1239, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::EntityMimeTypeFilterModel::canFetchMore(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(1240, (void*)this, x)) {
            QList<QModelIndex>* xptr = (QList<QModelIndex>*)x[0].s_class;
            QList<QModelIndex> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::EntityMimeTypeFilterModel::match(x1, x2, x3, x4, x5);
    }
    virtual int columnCount(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1241, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::EntityMimeTypeFilterModel::columnCount(x1);
    }
    virtual bool filterAcceptsRow(int x1, const QModelIndex& x2) const {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1242, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::EntityMimeTypeFilterModel::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(1243, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::EntityMimeTypeFilterModel::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 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 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 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 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__EntityMimeTypeFilterModel() { this->_binding->deleted(65, (void*)this); }
};
void xcall_Akonadi__EntityMimeTypeFilterModel(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__EntityMimeTypeFilterModel *xself = (x_Akonadi__EntityMimeTypeFilterModel*)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__EntityMimeTypeFilterModel::x_3(args);	break;
        case 4: x_Akonadi__EntityMimeTypeFilterModel::x_4(args);	break;
        case 5: x_Akonadi__EntityMimeTypeFilterModel::x_5(args);	break;
        case 6: x_Akonadi__EntityMimeTypeFilterModel::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__EntityMimeTypeFilterModel::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: x_Akonadi__EntityMimeTypeFilterModel::x_24(args);	break;
        case 25: x_Akonadi__EntityMimeTypeFilterModel::x_25(args);	break;
        case 26: x_Akonadi__EntityMimeTypeFilterModel::x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: x_Akonadi__EntityMimeTypeFilterModel::x_32(args);	break;
        case 33: delete (Akonadi::EntityMimeTypeFilterModel*)xself;	break;
    }
}
class x_Akonadi__EntityTreeModel : public Akonadi::EntityTreeModel, 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::EntityTreeModel*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__EntityTreeModel*)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::EntityTreeModel*>(this))) {
            void* xret = this->Akonadi::EntityTreeModel::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::EntityTreeModel::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::EntityTreeModel::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::EntityTreeModel::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::EntityTreeModel::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::EntityTreeModel*>(this))) {
            int xret = this->Akonadi::EntityTreeModel::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::EntityTreeModel* EntityTreeModel(Akonadi::ChangeRecorder*, QObject*)
        x_Akonadi__EntityTreeModel* xret = new x_Akonadi__EntityTreeModel((Akonadi::ChangeRecorder*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__EntityTreeModel(Akonadi::ChangeRecorder* x1, QObject* x2) : EntityTreeModel(x1, x2) {}
    void x_9(Smoke::Stack x) {
        // void setShowSystemEntities(bool)
        this->Akonadi::EntityTreeModel::setShowSystemEntities((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // bool systemEntitiesShown() const
        bool xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::systemEntitiesShown();
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // bool includeUnsubscribed() const
        bool xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::includeUnsubscribed();
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // void setIncludeUnsubscribed(bool)
        this->Akonadi::EntityTreeModel::setIncludeUnsubscribed((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // Akonadi::CollectionFetchScope::ListFilter listFilter() const
        Akonadi::CollectionFetchScope::ListFilter xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::listFilter();
        x[0].s_enum = xret;
    }
    void x_14(Smoke::Stack x) {
        // void setListFilter(Akonadi::CollectionFetchScope::ListFilter)
        this->Akonadi::EntityTreeModel::setListFilter((Akonadi::CollectionFetchScope::ListFilter)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void setCollectionsMonitored(const QList<Akonadi::Collection>&)
        this->Akonadi::EntityTreeModel::setCollectionsMonitored(*(const QList<Akonadi::Collection>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // void setCollectionMonitored(const Akonadi::Collection&, bool)
        this->Akonadi::EntityTreeModel::setCollectionMonitored(*(const Akonadi::Collection*)x[1].s_class,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void setCollectionReferenced(const Akonadi::Collection&, bool)
        this->Akonadi::EntityTreeModel::setCollectionReferenced(*(const Akonadi::Collection*)x[1].s_class,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // void setItemPopulationStrategy(Akonadi::EntityTreeModel::ItemPopulationStrategy)
        this->Akonadi::EntityTreeModel::setItemPopulationStrategy((Akonadi::EntityTreeModel::ItemPopulationStrategy)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // Akonadi::EntityTreeModel::ItemPopulationStrategy itemPopulationStrategy() const
        Akonadi::EntityTreeModel::ItemPopulationStrategy xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::itemPopulationStrategy();
        x[0].s_enum = xret;
    }
    void x_20(Smoke::Stack x) {
        // void setIncludeRootCollection(bool)
        this->Akonadi::EntityTreeModel::setIncludeRootCollection((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // bool includeRootCollection() const
        bool xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::includeRootCollection();
        x[0].s_bool = xret;
    }
    void x_22(Smoke::Stack x) {
        // void setRootCollectionDisplayName(const QString&)
        this->Akonadi::EntityTreeModel::setRootCollectionDisplayName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // QString rootCollectionDisplayName() const
        QString xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::rootCollectionDisplayName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_24(Smoke::Stack x) {
        // void setCollectionFetchStrategy(Akonadi::EntityTreeModel::CollectionFetchStrategy)
        this->Akonadi::EntityTreeModel::setCollectionFetchStrategy((Akonadi::EntityTreeModel::CollectionFetchStrategy)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // Akonadi::EntityTreeModel::CollectionFetchStrategy collectionFetchStrategy() const
        Akonadi::EntityTreeModel::CollectionFetchStrategy xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::collectionFetchStrategy();
        x[0].s_enum = xret;
    }
    void x_26(Smoke::Stack x) {
        // virtual int columnCount(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            int xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::columnCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_Akonadi__EntityTreeModel*)this)->columnCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        }
    }
    void x_27(Smoke::Stack x) {
        // virtual int rowCount(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            int xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::rowCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_Akonadi__EntityTreeModel*)this)->rowCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        }
    }
    void x_28(Smoke::Stack x) {
        // virtual QVariant data(const QModelIndex&, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            QVariant xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::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__EntityTreeModel*)this)->data(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_29(Smoke::Stack x) {
        // virtual QVariant headerData(int, Qt::Orientation, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            QVariant xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::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__EntityTreeModel*)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_30(Smoke::Stack x) {
        // virtual QFlags<Qt::ItemFlag> flags(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            QFlags<Qt::ItemFlag> xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::flags(*(const QModelIndex*)x[1].s_class);
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<Qt::ItemFlag> xret = ((const x_Akonadi__EntityTreeModel*)this)->flags(*(const QModelIndex*)x[1].s_class);
            x[0].s_uint = (uint)xret;
        }
    }
    void x_31(Smoke::Stack x) {
        // virtual QStringList mimeTypes() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            QStringList xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::mimeTypes();
            x[0].s_class = (void*)new QStringList(xret);
        } else {
            QStringList xret = ((const x_Akonadi__EntityTreeModel*)this)->mimeTypes();
            x[0].s_class = (void*)new QStringList(xret);
        }
    }
    void x_32(Smoke::Stack x) {
        // virtual QFlags<Qt::DropAction> supportedDropActions() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            QFlags<Qt::DropAction> xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::supportedDropActions();
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<Qt::DropAction> xret = ((const x_Akonadi__EntityTreeModel*)this)->supportedDropActions();
            x[0].s_uint = (uint)xret;
        }
    }
    void x_33(Smoke::Stack x) {
        // virtual QMimeData* mimeData(const QList<QModelIndex>&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            QMimeData* xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::mimeData(*(const QList<QModelIndex>*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            QMimeData* xret = ((const x_Akonadi__EntityTreeModel*)this)->mimeData(*(const QList<QModelIndex>*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_34(Smoke::Stack x) {
        // virtual bool dropMimeData(const QMimeData*, Qt::DropAction, int, int, const QModelIndex&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            bool xret = this->Akonadi::EntityTreeModel::dropMimeData((const QMimeData*)x[1].s_class,(Qt::DropAction)x[2].s_enum,(int)x[3].s_int,(int)x[4].s_int,*(const QModelIndex*)x[5].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->dropMimeData((const QMimeData*)x[1].s_class,(Qt::DropAction)x[2].s_enum,(int)x[3].s_int,(int)x[4].s_int,*(const QModelIndex*)x[5].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_35(Smoke::Stack x) {
        // virtual bool setData(const QModelIndex&, const QVariant&, int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            bool xret = this->Akonadi::EntityTreeModel::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;
        }
    }
    void x_36(Smoke::Stack x) {
        // virtual QModelIndex index(int, int, const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            QModelIndex xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::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__EntityTreeModel*)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_37(Smoke::Stack x) {
        // virtual QModelIndex parent(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            QModelIndex xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::parent(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        } else {
            QModelIndex xret = ((const x_Akonadi__EntityTreeModel*)this)->parent(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        }
    }
    void x_38(Smoke::Stack x) {
        // virtual bool canFetchMore(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            bool xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::canFetchMore(*(const QModelIndex*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_Akonadi__EntityTreeModel*)this)->canFetchMore(*(const QModelIndex*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_39(Smoke::Stack x) {
        // virtual void fetchMore(const QModelIndex&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            this->Akonadi::EntityTreeModel::fetchMore(*(const QModelIndex*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->fetchMore(*(const QModelIndex*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_40(Smoke::Stack x) {
        // virtual bool hasChildren(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            bool xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::hasChildren(*(const QModelIndex*)x[1].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_Akonadi__EntityTreeModel*)this)->hasChildren(*(const QModelIndex*)x[1].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_41(Smoke::Stack x) {
        // bool isCollectionTreeFetched() const
        bool xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::isCollectionTreeFetched();
        x[0].s_bool = xret;
    }
    void x_42(Smoke::Stack x) {
        // bool isCollectionPopulated(Akonadi::Collection::Id) const
        bool xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::isCollectionPopulated(*(Akonadi::Collection::Id*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_43(Smoke::Stack x) {
        // bool isFullyPopulated() const
        bool xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::isFullyPopulated();
        x[0].s_bool = xret;
    }
    void x_44(Smoke::Stack x) {
        // virtual QList<QModelIndex> match(const QModelIndex&, int, const QVariant&, int, QFlags<Qt::MatchFlag>) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            QList<QModelIndex> xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::match(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,*(const QVariant*)x[3].s_class,(int)x[4].s_int,(QFlags<Qt::MatchFlag>)x[5].s_uint);
            x[0].s_class = (void*)new QList<QModelIndex>(xret);
        } else {
            QList<QModelIndex> xret = ((const x_Akonadi__EntityTreeModel*)this)->match(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,*(const QVariant*)x[3].s_class,(int)x[4].s_int,(QFlags<Qt::MatchFlag>)x[5].s_uint);
            x[0].s_class = (void*)new QList<QModelIndex>(xret);
        }
    }
    static void x_45(Smoke::Stack x) {
        // static QModelIndex modelIndexForCollection(const QAbstractItemModel*, const Akonadi::Collection&)
        QModelIndex xret = Akonadi::EntityTreeModel::modelIndexForCollection((const QAbstractItemModel*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class);
        x[0].s_class = (void*)new QModelIndex(xret);
    }
    static void x_46(Smoke::Stack x) {
        // static QList<QModelIndex> modelIndexesForItem(const QAbstractItemModel*, const Akonadi::Item&)
        QList<QModelIndex> xret = Akonadi::EntityTreeModel::modelIndexesForItem((const QAbstractItemModel*)x[1].s_class,*(const Akonadi::Item*)x[2].s_class);
        x[0].s_class = (void*)new QList<QModelIndex>(xret);
    }
    void x_47(Smoke::Stack x) {
        // void collectionTreeFetched(const Akonadi::Collection::List&)
        this->Akonadi::EntityTreeModel::collectionTreeFetched(*(const Akonadi::Collection::List*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_48(Smoke::Stack x) {
        // void collectionPopulated(Akonadi::Collection::Id)
        this->Akonadi::EntityTreeModel::collectionPopulated(*(Akonadi::Collection::Id*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_49(Smoke::Stack x) {
        // void collectionFetched(int)
        this->Akonadi::EntityTreeModel::collectionFetched((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_50(Smoke::Stack x) {
        // void clearAndReset()
        this->Akonadi::EntityTreeModel::clearAndReset();
        (void)x; // noop (for compiler warning)
    }
    void x_51(Smoke::Stack x) {
        // virtual QVariant entityData(const Akonadi::Item&, int, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            QVariant xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::entityData(*(const Akonadi::Item*)x[1].s_class,(int)x[2].s_int,(int)x[3].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = ((const x_Akonadi__EntityTreeModel*)this)->entityData(*(const Akonadi::Item*)x[1].s_class,(int)x[2].s_int,(int)x[3].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_52(Smoke::Stack x) {
        // virtual QVariant entityData(const Akonadi::Collection&, int, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            QVariant xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::entityData(*(const Akonadi::Collection*)x[1].s_class,(int)x[2].s_int,(int)x[3].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = ((const x_Akonadi__EntityTreeModel*)this)->entityData(*(const Akonadi::Collection*)x[1].s_class,(int)x[2].s_int,(int)x[3].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_53(Smoke::Stack x) {
        // virtual QVariant entityHeaderData(int, Qt::Orientation, int, Akonadi::EntityTreeModel::HeaderGroup) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            QVariant xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::entityHeaderData((int)x[1].s_int,(Qt::Orientation)x[2].s_enum,(int)x[3].s_int,(Akonadi::EntityTreeModel::HeaderGroup)x[4].s_enum);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = ((const x_Akonadi__EntityTreeModel*)this)->entityHeaderData((int)x[1].s_int,(Qt::Orientation)x[2].s_enum,(int)x[3].s_int,(Akonadi::EntityTreeModel::HeaderGroup)x[4].s_enum);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_54(Smoke::Stack x) {
        // virtual int entityColumnCount(Akonadi::EntityTreeModel::HeaderGroup) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            int xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::entityColumnCount((Akonadi::EntityTreeModel::HeaderGroup)x[1].s_enum);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_Akonadi__EntityTreeModel*)this)->entityColumnCount((Akonadi::EntityTreeModel::HeaderGroup)x[1].s_enum);
            x[0].s_int = xret;
        }
    }
    void x_55(Smoke::Stack x) {
        // virtual bool entityMatch(const Akonadi::Item&, const QVariant&, QFlags<Qt::MatchFlag>) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            bool xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::entityMatch(*(const Akonadi::Item*)x[1].s_class,*(const QVariant*)x[2].s_class,(QFlags<Qt::MatchFlag>)x[3].s_uint);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_Akonadi__EntityTreeModel*)this)->entityMatch(*(const Akonadi::Item*)x[1].s_class,*(const QVariant*)x[2].s_class,(QFlags<Qt::MatchFlag>)x[3].s_uint);
            x[0].s_bool = xret;
        }
    }
    void x_56(Smoke::Stack x) {
        // virtual bool entityMatch(const Akonadi::Collection&, const QVariant&, QFlags<Qt::MatchFlag>) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeModel*>(this))) {
            bool xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::entityMatch(*(const Akonadi::Collection*)x[1].s_class,*(const QVariant*)x[2].s_class,(QFlags<Qt::MatchFlag>)x[3].s_uint);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_Akonadi__EntityTreeModel*)this)->entityMatch(*(const Akonadi::Collection*)x[1].s_class,*(const QVariant*)x[2].s_class,(QFlags<Qt::MatchFlag>)x[3].s_uint);
            x[0].s_bool = xret;
        }
    }
    void x_57(Smoke::Stack x) {
        // Akonadi::EntityTreeModelPrivate* d_func()
        Akonadi::EntityTreeModelPrivate* xret = this->Akonadi::EntityTreeModel::d_func();
        x[0].s_class = (void*)xret;
    }
    void x_58(Smoke::Stack x) {
        // const Akonadi::EntityTreeModelPrivate* d_func() const
        const Akonadi::EntityTreeModelPrivate* xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::d_func();
        x[0].s_class = (void*)xret;
    }
    static void x_59(Smoke::Stack x) {
        // Akonadi::EntityTreeModel* EntityTreeModel(Akonadi::ChangeRecorder*, Akonadi::EntityTreeModelPrivate*, QObject*)
        x_Akonadi__EntityTreeModel* xret = new x_Akonadi__EntityTreeModel((Akonadi::ChangeRecorder*)x[1].s_class,(Akonadi::EntityTreeModelPrivate*)x[2].s_class,(QObject*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__EntityTreeModel(Akonadi::ChangeRecorder* x1, Akonadi::EntityTreeModelPrivate* x2, QObject* x3) : EntityTreeModel(x1, x2, x3) {}
    static void x_60(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::EntityTreeModel::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_61(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::EntityTreeModel::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_62(Smoke::Stack x) {
        // Akonadi::EntityTreeModel* EntityTreeModel(Akonadi::ChangeRecorder*)
        x_Akonadi__EntityTreeModel* xret = new x_Akonadi__EntityTreeModel((Akonadi::ChangeRecorder*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_63(Smoke::Stack x) {
        // void setCollectionMonitored(const Akonadi::Collection&)
        this->Akonadi::EntityTreeModel::setCollectionMonitored(*(const Akonadi::Collection*)x[1].s_class,(bool)true);
        (void)x; // noop (for compiler warning)
    }
    void x_64(Smoke::Stack x) {
        // void setCollectionReferenced(const Akonadi::Collection&)
        this->Akonadi::EntityTreeModel::setCollectionReferenced(*(const Akonadi::Collection*)x[1].s_class,(bool)true);
        (void)x; // noop (for compiler warning)
    }
    void x_65(Smoke::Stack x) {
        // int columnCount() const
        int xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::columnCount((const QModelIndex&)QModelIndex());
        x[0].s_int = xret;
    }
    void x_66(Smoke::Stack x) {
        // int rowCount() const
        int xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::rowCount((const QModelIndex&)QModelIndex());
        x[0].s_int = xret;
    }
    void x_67(Smoke::Stack x) {
        // QVariant data(const QModelIndex&) const
        QVariant xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::data(*(const QModelIndex*)x[1].s_class,(int)Qt::DisplayRole);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_68(Smoke::Stack x) {
        // QVariant headerData(int, Qt::Orientation) const
        QVariant xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::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_69(Smoke::Stack x) {
        // bool setData(const QModelIndex&, const QVariant&)
        bool xret = this->Akonadi::EntityTreeModel::setData(*(const QModelIndex*)x[1].s_class,*(const QVariant*)x[2].s_class,(int)Qt::EditRole);
        x[0].s_bool = xret;
    }
    void x_70(Smoke::Stack x) {
        // QModelIndex index(int, int) const
        QModelIndex xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::index((int)x[1].s_int,(int)x[2].s_int,(const QModelIndex&)QModelIndex());
        x[0].s_class = (void*)new QModelIndex(xret);
    }
    void x_71(Smoke::Stack x) {
        // bool hasChildren() const
        bool xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::hasChildren((const QModelIndex&)QModelIndex());
        x[0].s_bool = xret;
    }
    void x_72(Smoke::Stack x) {
        // QList<QModelIndex> match(const QModelIndex&, int, const QVariant&) const
        QList<QModelIndex> xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::match(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,*(const QVariant*)x[3].s_class,(int)1,(QFlags<Qt::MatchFlag>)Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap));
        x[0].s_class = (void*)new QList<QModelIndex>(xret);
    }
    void x_73(Smoke::Stack x) {
        // QList<QModelIndex> match(const QModelIndex&, int, const QVariant&, int) const
        QList<QModelIndex> xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::match(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int,*(const QVariant*)x[3].s_class,(int)x[4].s_int,(QFlags<Qt::MatchFlag>)Qt::MatchFlags(Qt::MatchStartsWith|Qt::MatchWrap));
        x[0].s_class = (void*)new QList<QModelIndex>(xret);
    }
    void x_74(Smoke::Stack x) {
        // QVariant entityData(const Akonadi::Item&, int) const
        QVariant xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::entityData(*(const Akonadi::Item*)x[1].s_class,(int)x[2].s_int,(int)Qt::DisplayRole);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_75(Smoke::Stack x) {
        // QVariant entityData(const Akonadi::Collection&, int) const
        QVariant xret = ((const x_Akonadi__EntityTreeModel*)this)->Akonadi::EntityTreeModel::entityData(*(const Akonadi::Collection*)x[1].s_class,(int)x[2].s_int,(int)Qt::DisplayRole);
        x[0].s_class = (void*)new QVariant(xret);
    }
    static void x_76(Smoke::Stack x) {
        // Akonadi::EntityTreeModel* EntityTreeModel(Akonadi::ChangeRecorder*, Akonadi::EntityTreeModelPrivate*)
        x_Akonadi__EntityTreeModel* xret = new x_Akonadi__EntityTreeModel((Akonadi::ChangeRecorder*)x[1].s_class,(Akonadi::EntityTreeModelPrivate*)x[2].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_77(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::EntityTreeModel::staticMetaObject;
    }
    static void x_78(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::ItemIdRole;
    }
    static void x_79(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::ItemRole;
    }
    static void x_80(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::MimeTypeRole;
    }
    static void x_81(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::CollectionIdRole;
    }
    static void x_82(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::CollectionRole;
    }
    static void x_83(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::RemoteIdRole;
    }
    static void x_84(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::CollectionChildOrderRole;
    }
    static void x_85(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::AmazingCompletionRole;
    }
    static void x_86(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::ParentCollectionRole;
    }
    static void x_87(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::ColumnCountRole;
    }
    static void x_88(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::LoadedPartsRole;
    }
    static void x_89(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::AvailablePartsRole;
    }
    static void x_90(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::SessionRole;
    }
    static void x_91(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::CollectionRefRole;
    }
    static void x_92(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::CollectionDerefRole;
    }
    static void x_93(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::PendingCutRole;
    }
    static void x_94(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::EntityUrlRole;
    }
    static void x_95(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::UnreadCountRole;
    }
    static void x_96(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::FetchStateRole;
    }
    static void x_97(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::CollectionSyncProgressRole;
    }
    static void x_98(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::IsPopulatedRole;
    }
    static void x_99(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::UserRole;
    }
    static void x_100(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::TerminalUserRole;
    }
    static void x_101(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::EndRole;
    }
    static void x_102(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::IdleState;
    }
    static void x_103(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::FetchingState;
    }
    static void x_104(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::EntityTreeHeaders;
    }
    static void x_105(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::CollectionTreeHeaders;
    }
    static void x_106(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::ItemListHeaders;
    }
    static void x_107(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::UserHeaders;
    }
    static void x_108(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::EndHeaderGroup;
    }
    static void x_109(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::NoItemPopulation;
    }
    static void x_110(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::ImmediatePopulation;
    }
    static void x_111(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::LazyPopulation;
    }
    static void x_112(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::FetchNoCollections;
    }
    static void x_113(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::FetchFirstLevelChildCollections;
    }
    static void x_114(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::FetchCollectionsRecursive;
    }
    static void x_115(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::EntityTreeModel::InvisibleCollectionFetch;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1254, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::EntityTreeModel::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1255, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::EntityTreeModel::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(1260, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::EntityTreeModel::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(1279, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::EntityTreeModel::columnCount(x1);
    }
    virtual int rowCount(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1280, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::EntityTreeModel::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(1281, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::EntityTreeModel::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(1282, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::EntityTreeModel::headerData(x1, x2, x3);
    }
    virtual QFlags<Qt::ItemFlag> flags(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1283, (void*)this, x)) return (QFlags<Qt::ItemFlag>)x[0].s_uint;
        return this->Akonadi::EntityTreeModel::flags(x1);
    }
    virtual QStringList mimeTypes() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1284, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::EntityTreeModel::mimeTypes();
    }
    virtual QFlags<Qt::DropAction> supportedDropActions() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1285, (void*)this, x)) return (QFlags<Qt::DropAction>)x[0].s_uint;
        return this->Akonadi::EntityTreeModel::supportedDropActions();
    }
    virtual QMimeData* mimeData(const QList<QModelIndex>& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1286, (void*)this, x)) return (QMimeData*)x[0].s_class;
        return this->Akonadi::EntityTreeModel::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(1287, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::EntityTreeModel::dropMimeData(x1, x2, x3, x4, x5);
    }
    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(1288, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::EntityTreeModel::setData(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(1289, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::EntityTreeModel::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(1290, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::EntityTreeModel::parent(x1);
    }
    virtual bool canFetchMore(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1291, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::EntityTreeModel::canFetchMore(x1);
    }
    virtual void fetchMore(const QModelIndex& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1292, (void*)this, x)) return;
        this->Akonadi::EntityTreeModel::fetchMore(x1);
    }
    virtual bool hasChildren(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1293, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::EntityTreeModel::hasChildren(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(1297, (void*)this, x)) {
            QList<QModelIndex>* xptr = (QList<QModelIndex>*)x[0].s_class;
            QList<QModelIndex> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::EntityTreeModel::match(x1, x2, x3, x4, x5);
    }
    virtual QVariant entityData(const Akonadi::Item& x1, int x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(1304, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::EntityTreeModel::entityData(x1, x2, x3);
    }
    virtual QVariant entityData(const Akonadi::Collection& x1, int x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(1305, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::EntityTreeModel::entityData(x1, x2, x3);
    }
    virtual QVariant entityHeaderData(int x1, Qt::Orientation x2, int x3, Akonadi::EntityTreeModel::HeaderGroup x4) const {
        Smoke::StackItem x[5];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        x[4].s_enum = x4;
        if (this->_binding->callMethod(1306, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::EntityTreeModel::entityHeaderData(x1, x2, x3, x4);
    }
    virtual int entityColumnCount(Akonadi::EntityTreeModel::HeaderGroup x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(1307, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::EntityTreeModel::entityColumnCount(x1);
    }
    virtual bool entityMatch(const Akonadi::Item& x1, const QVariant& x2, QFlags<Qt::MatchFlag> x3) const {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_uint = (uint)x3;
        if (this->_binding->callMethod(1308, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::EntityTreeModel::entityMatch(x1, x2, x3);
    }
    virtual bool entityMatch(const Akonadi::Collection& x1, const QVariant& x2, QFlags<Qt::MatchFlag> x3) const {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_uint = (uint)x3;
        if (this->_binding->callMethod(1309, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::EntityTreeModel::entityMatch(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(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 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 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 112: //Akonadi::EntityTreeModel::Roles
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::EntityTreeModel::Roles;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::EntityTreeModel::Roles*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::EntityTreeModel::Roles*)xdata = (Akonadi::EntityTreeModel::Roles)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::EntityTreeModel::Roles*)xdata;
                    break;
            }
            break;
        case 109: //Akonadi::EntityTreeModel::FetchState
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::EntityTreeModel::FetchState;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::EntityTreeModel::FetchState*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::EntityTreeModel::FetchState*)xdata = (Akonadi::EntityTreeModel::FetchState)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::EntityTreeModel::FetchState*)xdata;
                    break;
            }
            break;
        case 110: //Akonadi::EntityTreeModel::HeaderGroup
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::EntityTreeModel::HeaderGroup;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::EntityTreeModel::HeaderGroup*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::EntityTreeModel::HeaderGroup*)xdata = (Akonadi::EntityTreeModel::HeaderGroup)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::EntityTreeModel::HeaderGroup*)xdata;
                    break;
            }
            break;
        case 111: //Akonadi::EntityTreeModel::ItemPopulationStrategy
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::EntityTreeModel::ItemPopulationStrategy;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::EntityTreeModel::ItemPopulationStrategy*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::EntityTreeModel::ItemPopulationStrategy*)xdata = (Akonadi::EntityTreeModel::ItemPopulationStrategy)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::EntityTreeModel::ItemPopulationStrategy*)xdata;
                    break;
            }
            break;
        case 108: //Akonadi::EntityTreeModel::CollectionFetchStrategy
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::EntityTreeModel::CollectionFetchStrategy;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::EntityTreeModel::CollectionFetchStrategy*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::EntityTreeModel::CollectionFetchStrategy*)xdata = (Akonadi::EntityTreeModel::CollectionFetchStrategy)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::EntityTreeModel::CollectionFetchStrategy*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_Akonadi__EntityTreeModel() { this->_binding->deleted(67, (void*)this); }
};
void xenum_Akonadi__EntityTreeModel(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Akonadi__EntityTreeModel::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Akonadi__EntityTreeModel(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__EntityTreeModel *xself = (x_Akonadi__EntityTreeModel*)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__EntityTreeModel::x_3(args);	break;
        case 4: x_Akonadi__EntityTreeModel::x_4(args);	break;
        case 5: x_Akonadi__EntityTreeModel::x_5(args);	break;
        case 6: x_Akonadi__EntityTreeModel::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__EntityTreeModel::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: xself->x_41(args);	break;
        case 42: xself->x_42(args);	break;
        case 43: xself->x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: x_Akonadi__EntityTreeModel::x_45(args);	break;
        case 46: x_Akonadi__EntityTreeModel::x_46(args);	break;
        case 47: xself->x_47(args);	break;
        case 48: xself->x_48(args);	break;
        case 49: xself->x_49(args);	break;
        case 50: xself->x_50(args);	break;
        case 51: xself->x_51(args);	break;
        case 52: xself->x_52(args);	break;
        case 53: xself->x_53(args);	break;
        case 54: xself->x_54(args);	break;
        case 55: xself->x_55(args);	break;
        case 56: xself->x_56(args);	break;
        case 57: xself->x_57(args);	break;
        case 58: xself->x_58(args);	break;
        case 59: x_Akonadi__EntityTreeModel::x_59(args);	break;
        case 60: x_Akonadi__EntityTreeModel::x_60(args);	break;
        case 61: x_Akonadi__EntityTreeModel::x_61(args);	break;
        case 62: x_Akonadi__EntityTreeModel::x_62(args);	break;
        case 63: xself->x_63(args);	break;
        case 64: xself->x_64(args);	break;
        case 65: xself->x_65(args);	break;
        case 66: xself->x_66(args);	break;
        case 67: xself->x_67(args);	break;
        case 68: xself->x_68(args);	break;
        case 69: xself->x_69(args);	break;
        case 70: xself->x_70(args);	break;
        case 71: xself->x_71(args);	break;
        case 72: xself->x_72(args);	break;
        case 73: xself->x_73(args);	break;
        case 74: xself->x_74(args);	break;
        case 75: xself->x_75(args);	break;
        case 76: x_Akonadi__EntityTreeModel::x_76(args);	break;
        case 77: x_Akonadi__EntityTreeModel::x_77(args);	break;
        case 78: x_Akonadi__EntityTreeModel::x_78(args);	break;
        case 79: x_Akonadi__EntityTreeModel::x_79(args);	break;
        case 80: x_Akonadi__EntityTreeModel::x_80(args);	break;
        case 81: x_Akonadi__EntityTreeModel::x_81(args);	break;
        case 82: x_Akonadi__EntityTreeModel::x_82(args);	break;
        case 83: x_Akonadi__EntityTreeModel::x_83(args);	break;
        case 84: x_Akonadi__EntityTreeModel::x_84(args);	break;
        case 85: x_Akonadi__EntityTreeModel::x_85(args);	break;
        case 86: x_Akonadi__EntityTreeModel::x_86(args);	break;
        case 87: x_Akonadi__EntityTreeModel::x_87(args);	break;
        case 88: x_Akonadi__EntityTreeModel::x_88(args);	break;
        case 89: x_Akonadi__EntityTreeModel::x_89(args);	break;
        case 90: x_Akonadi__EntityTreeModel::x_90(args);	break;
        case 91: x_Akonadi__EntityTreeModel::x_91(args);	break;
        case 92: x_Akonadi__EntityTreeModel::x_92(args);	break;
        case 93: x_Akonadi__EntityTreeModel::x_93(args);	break;
        case 94: x_Akonadi__EntityTreeModel::x_94(args);	break;
        case 95: x_Akonadi__EntityTreeModel::x_95(args);	break;
        case 96: x_Akonadi__EntityTreeModel::x_96(args);	break;
        case 97: x_Akonadi__EntityTreeModel::x_97(args);	break;
        case 98: x_Akonadi__EntityTreeModel::x_98(args);	break;
        case 99: x_Akonadi__EntityTreeModel::x_99(args);	break;
        case 100: x_Akonadi__EntityTreeModel::x_100(args);	break;
        case 101: x_Akonadi__EntityTreeModel::x_101(args);	break;
        case 102: x_Akonadi__EntityTreeModel::x_102(args);	break;
        case 103: x_Akonadi__EntityTreeModel::x_103(args);	break;
        case 104: x_Akonadi__EntityTreeModel::x_104(args);	break;
        case 105: x_Akonadi__EntityTreeModel::x_105(args);	break;
        case 106: x_Akonadi__EntityTreeModel::x_106(args);	break;
        case 107: x_Akonadi__EntityTreeModel::x_107(args);	break;
        case 108: x_Akonadi__EntityTreeModel::x_108(args);	break;
        case 109: x_Akonadi__EntityTreeModel::x_109(args);	break;
        case 110: x_Akonadi__EntityTreeModel::x_110(args);	break;
        case 111: x_Akonadi__EntityTreeModel::x_111(args);	break;
        case 112: x_Akonadi__EntityTreeModel::x_112(args);	break;
        case 113: x_Akonadi__EntityTreeModel::x_113(args);	break;
        case 114: x_Akonadi__EntityTreeModel::x_114(args);	break;
        case 115: x_Akonadi__EntityTreeModel::x_115(args);	break;
        case 116: delete (Akonadi::EntityTreeModel*)xself;	break;
    }
}

}
