//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__AgentType : public Akonadi::AgentType {
    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::AgentType* AgentType()
        x_Akonadi__AgentType* xret = new x_Akonadi__AgentType();
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AgentType() : AgentType() {}
    static void x_2(Smoke::Stack x) {
        // Akonadi::AgentType* AgentType(const Akonadi::AgentType&)
        x_Akonadi__AgentType* xret = new x_Akonadi__AgentType(*(const Akonadi::AgentType*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AgentType(const Akonadi::AgentType& x1) : AgentType(x1) {}
    void x_3(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_Akonadi__AgentType*)this)->Akonadi::AgentType::isValid();
        x[0].s_bool = xret;
    }
    void x_4(Smoke::Stack x) {
        // QString identifier() const
        QString xret = ((const x_Akonadi__AgentType*)this)->Akonadi::AgentType::identifier();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_5(Smoke::Stack x) {
        // QString name() const
        QString xret = ((const x_Akonadi__AgentType*)this)->Akonadi::AgentType::name();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_6(Smoke::Stack x) {
        // QString description() const
        QString xret = ((const x_Akonadi__AgentType*)this)->Akonadi::AgentType::description();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // QString iconName() const
        QString xret = ((const x_Akonadi__AgentType*)this)->Akonadi::AgentType::iconName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_8(Smoke::Stack x) {
        // QIcon icon() const
        QIcon xret = ((const x_Akonadi__AgentType*)this)->Akonadi::AgentType::icon();
        x[0].s_class = (void*)new QIcon(xret);
    }
    void x_9(Smoke::Stack x) {
        // QStringList mimeTypes() const
        QStringList xret = ((const x_Akonadi__AgentType*)this)->Akonadi::AgentType::mimeTypes();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_10(Smoke::Stack x) {
        // QStringList capabilities() const
        QStringList xret = ((const x_Akonadi__AgentType*)this)->Akonadi::AgentType::capabilities();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_11(Smoke::Stack x) {
        // QMap<QString,QVariant> customProperties() const
        QMap<QString,QVariant> xret = ((const x_Akonadi__AgentType*)this)->Akonadi::AgentType::customProperties();
        x[0].s_class = (void*)new QMap<QString,QVariant>(xret);
    }
    void x_12(Smoke::Stack x) {
        // Akonadi::AgentType& operator=(const Akonadi::AgentType&)
        Akonadi::AgentType& xret = this->Akonadi::AgentType::operator=(*(const Akonadi::AgentType*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_13(Smoke::Stack x) {
        // bool operator==(const Akonadi::AgentType&) const
        bool xret = ((const x_Akonadi__AgentType*)this)->Akonadi::AgentType::operator==(*(const Akonadi::AgentType*)x[1].s_class);
        x[0].s_bool = xret;
    }
    ~x_Akonadi__AgentType() { this->_binding->deleted(15, (void*)this); }
};
void xcall_Akonadi__AgentType(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__AgentType *xself = (x_Akonadi__AgentType*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Akonadi__AgentType::x_1(args);	break;
        case 2: x_Akonadi__AgentType::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: delete (Akonadi::AgentType*)xself;	break;
    }
}
class x_Akonadi__AgentTypeDialog : public Akonadi::AgentTypeDialog, 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::AgentTypeDialog*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__AgentTypeDialog*)this)->Akonadi::AgentTypeDialog::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__AgentTypeDialog*)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::AgentTypeDialog*>(this))) {
            void* xret = this->Akonadi::AgentTypeDialog::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::AgentTypeDialog::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::AgentTypeDialog::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::AgentTypeDialog::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::AgentTypeDialog::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::AgentTypeDialog*>(this))) {
            int xret = this->Akonadi::AgentTypeDialog::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::AgentTypeDialog* AgentTypeDialog(QWidget*)
        x_Akonadi__AgentTypeDialog* xret = new x_Akonadi__AgentTypeDialog((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AgentTypeDialog(QWidget* x1) : AgentTypeDialog(x1) {}
    void x_9(Smoke::Stack x) {
        // Akonadi::AgentType agentType() const
        Akonadi::AgentType xret = ((const x_Akonadi__AgentTypeDialog*)this)->Akonadi::AgentTypeDialog::agentType();
        x[0].s_class = (void*)new Akonadi::AgentType(xret);
    }
    void x_10(Smoke::Stack x) {
        // Akonadi::AgentFilterProxyModel* agentFilterProxyModel() const
        Akonadi::AgentFilterProxyModel* xret = ((const x_Akonadi__AgentTypeDialog*)this)->Akonadi::AgentTypeDialog::agentFilterProxyModel();
        x[0].s_class = (void*)xret;
    }
    void x_11(Smoke::Stack x) {
        // virtual void done(int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentTypeDialog*>(this))) {
            this->Akonadi::AgentTypeDialog::done((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->done((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_12(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::AgentTypeDialog::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::AgentTypeDialog::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::AgentTypeDialog* AgentTypeDialog()
        x_Akonadi__AgentTypeDialog* xret = new x_Akonadi__AgentTypeDialog((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::AgentTypeDialog::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(253, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::AgentTypeDialog::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(254, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::AgentTypeDialog::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(259, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::AgentTypeDialog::qt_metacall(x1, x2, x3);
    }
    virtual void done(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(263, (void*)this, x)) return;
        this->Akonadi::AgentTypeDialog::done(x1);
    }
    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 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__AgentTypeDialog() { this->_binding->deleted(16, (void*)this); }
};
void xcall_Akonadi__AgentTypeDialog(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__AgentTypeDialog *xself = (x_Akonadi__AgentTypeDialog*)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__AgentTypeDialog::x_3(args);	break;
        case 4: x_Akonadi__AgentTypeDialog::x_4(args);	break;
        case 5: x_Akonadi__AgentTypeDialog::x_5(args);	break;
        case 6: x_Akonadi__AgentTypeDialog::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__AgentTypeDialog::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__AgentTypeDialog::x_12(args);	break;
        case 13: x_Akonadi__AgentTypeDialog::x_13(args);	break;
        case 14: x_Akonadi__AgentTypeDialog::x_14(args);	break;
        case 15: x_Akonadi__AgentTypeDialog::x_15(args);	break;
        case 16: delete (Akonadi::AgentTypeDialog*)xself;	break;
    }
}
class x_Akonadi__AgentTypeModel : public Akonadi::AgentTypeModel, 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::AgentTypeModel*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__AgentTypeModel*)this)->Akonadi::AgentTypeModel::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__AgentTypeModel*)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::AgentTypeModel*>(this))) {
            void* xret = this->Akonadi::AgentTypeModel::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::AgentTypeModel::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::AgentTypeModel::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::AgentTypeModel::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::AgentTypeModel::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::AgentTypeModel*>(this))) {
            int xret = this->Akonadi::AgentTypeModel::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::AgentTypeModel* AgentTypeModel(QObject*)
        x_Akonadi__AgentTypeModel* xret = new x_Akonadi__AgentTypeModel((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AgentTypeModel(QObject* x1) : AgentTypeModel(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual int columnCount(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentTypeModel*>(this))) {
            int xret = ((const x_Akonadi__AgentTypeModel*)this)->Akonadi::AgentTypeModel::columnCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_Akonadi__AgentTypeModel*)this)->columnCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        }
    }
    void x_10(Smoke::Stack x) {
        // virtual int rowCount(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentTypeModel*>(this))) {
            int xret = ((const x_Akonadi__AgentTypeModel*)this)->Akonadi::AgentTypeModel::rowCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        } else {
            int xret = ((const x_Akonadi__AgentTypeModel*)this)->rowCount(*(const QModelIndex*)x[1].s_class);
            x[0].s_int = xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // virtual QVariant data(const QModelIndex&, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentTypeModel*>(this))) {
            QVariant xret = ((const x_Akonadi__AgentTypeModel*)this)->Akonadi::AgentTypeModel::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__AgentTypeModel*)this)->data(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_12(Smoke::Stack x) {
        // virtual QModelIndex index(int, int, const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentTypeModel*>(this))) {
            QModelIndex xret = ((const x_Akonadi__AgentTypeModel*)this)->Akonadi::AgentTypeModel::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__AgentTypeModel*)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_13(Smoke::Stack x) {
        // virtual QModelIndex parent(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentTypeModel*>(this))) {
            QModelIndex xret = ((const x_Akonadi__AgentTypeModel*)this)->Akonadi::AgentTypeModel::parent(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        } else {
            QModelIndex xret = ((const x_Akonadi__AgentTypeModel*)this)->parent(*(const QModelIndex*)x[1].s_class);
            x[0].s_class = (void*)new QModelIndex(xret);
        }
    }
    void x_14(Smoke::Stack x) {
        // virtual QFlags<Qt::ItemFlag> flags(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::AgentTypeModel*>(this))) {
            QFlags<Qt::ItemFlag> xret = ((const x_Akonadi__AgentTypeModel*)this)->Akonadi::AgentTypeModel::flags(*(const QModelIndex*)x[1].s_class);
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<Qt::ItemFlag> xret = ((const x_Akonadi__AgentTypeModel*)this)->flags(*(const QModelIndex*)x[1].s_class);
            x[0].s_uint = (uint)xret;
        }
    }
    static void x_15(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::AgentTypeModel::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_16(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::AgentTypeModel::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_17(Smoke::Stack x) {
        // Akonadi::AgentTypeModel* AgentTypeModel()
        x_Akonadi__AgentTypeModel* xret = new x_Akonadi__AgentTypeModel((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_18(Smoke::Stack x) {
        // int columnCount() const
        int xret = ((const x_Akonadi__AgentTypeModel*)this)->Akonadi::AgentTypeModel::columnCount((const QModelIndex&)QModelIndex());
        x[0].s_int = xret;
    }
    void x_19(Smoke::Stack x) {
        // int rowCount() const
        int xret = ((const x_Akonadi__AgentTypeModel*)this)->Akonadi::AgentTypeModel::rowCount((const QModelIndex&)QModelIndex());
        x[0].s_int = xret;
    }
    void x_20(Smoke::Stack x) {
        // QVariant data(const QModelIndex&) const
        QVariant xret = ((const x_Akonadi__AgentTypeModel*)this)->Akonadi::AgentTypeModel::data(*(const QModelIndex*)x[1].s_class,(int)Qt::DisplayRole);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_21(Smoke::Stack x) {
        // QModelIndex index(int, int) const
        QModelIndex xret = ((const x_Akonadi__AgentTypeModel*)this)->Akonadi::AgentTypeModel::index((int)x[1].s_int,(int)x[2].s_int,(const QModelIndex&)QModelIndex());
        x[0].s_class = (void*)new QModelIndex(xret);
    }
    static void x_22(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::AgentTypeModel::staticMetaObject;
    }
    static void x_23(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentTypeModel::TypeRole;
    }
    static void x_24(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentTypeModel::IdentifierRole;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentTypeModel::DescriptionRole;
    }
    static void x_26(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentTypeModel::MimeTypesRole;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentTypeModel::CapabilitiesRole;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::AgentTypeModel::UserRole;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(269, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::AgentTypeModel::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(270, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::AgentTypeModel::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(275, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::AgentTypeModel::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(277, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::AgentTypeModel::columnCount(x1);
    }
    virtual int rowCount(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(278, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::AgentTypeModel::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(279, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::AgentTypeModel::data(x1, x2);
    }
    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(280, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::AgentTypeModel::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(281, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::AgentTypeModel::parent(x1);
    }
    virtual QFlags<Qt::ItemFlag> flags(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(282, (void*)this, x)) return (QFlags<Qt::ItemFlag>)x[0].s_uint;
        return this->Akonadi::AgentTypeModel::flags(x1);
    }
    virtual bool hasChildren(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2529, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::hasChildren(x1);
    }
    virtual bool 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(2530, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::setData(x1, x2, x3);
    }
    virtual QVariant headerData(int x1, Qt::Orientation x2, int x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(2531, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemModel::headerData(x1, x2, x3);
    }
    virtual bool setHeaderData(int x1, Qt::Orientation x2, const QVariant& x3, int x4) {
        Smoke::StackItem x[5];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_class = (void*)&x3;
        x[4].s_int = x4;
        if (this->_binding->callMethod(2532, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::setHeaderData(x1, x2, x3, x4);
    }
    virtual QMap<int,QVariant> itemData(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2533, (void*)this, x)) {
            QMap<int,QVariant>* xptr = (QMap<int,QVariant>*)x[0].s_class;
            QMap<int,QVariant> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemModel::itemData(x1);
    }
    virtual bool setItemData(const QModelIndex& x1, const QMap<int,QVariant>& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(2534, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::setItemData(x1, x2);
    }
    virtual QStringList mimeTypes() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2535, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemModel::mimeTypes();
    }
    virtual QMimeData* mimeData(const QList<QModelIndex>& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2536, (void*)this, x)) return (QMimeData*)x[0].s_class;
        return this->QAbstractItemModel::mimeData(x1);
    }
    virtual bool dropMimeData(const QMimeData* x1, Qt::DropAction x2, int x3, int x4, const QModelIndex& x5) {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)x1;
        x[2].s_enum = x2;
        x[3].s_int = x3;
        x[4].s_int = x4;
        x[5].s_class = (void*)&x5;
        if (this->_binding->callMethod(2537, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::dropMimeData(x1, x2, x3, x4, x5);
    }
    virtual QFlags<Qt::DropAction> supportedDropActions() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2538, (void*)this, x)) return (QFlags<Qt::DropAction>)x[0].s_uint;
        return this->QAbstractItemModel::supportedDropActions();
    }
    virtual bool insertRows(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2539, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::insertRows(x1, x2, x3);
    }
    virtual bool insertColumns(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2540, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::insertColumns(x1, x2, x3);
    }
    virtual bool removeRows(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2541, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::removeRows(x1, x2, x3);
    }
    virtual bool removeColumns(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2542, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::removeColumns(x1, x2, x3);
    }
    virtual void fetchMore(const QModelIndex& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2543, (void*)this, x)) return;
        this->QAbstractItemModel::fetchMore(x1);
    }
    virtual bool canFetchMore(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2544, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::canFetchMore(x1);
    }
    virtual void sort(int x1, Qt::SortOrder x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(2545, (void*)this, x)) return;
        this->QAbstractItemModel::sort(x1, x2);
    }
    virtual QModelIndex buddy(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2546, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemModel::buddy(x1);
    }
    virtual QList<QModelIndex> match(const QModelIndex& x1, int x2, const QVariant& x3, int x4, QFlags<Qt::MatchFlag> x5) const {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        x[4].s_int = x4;
        x[5].s_uint = (uint)x5;
        if (this->_binding->callMethod(2547, (void*)this, x)) {
            QList<QModelIndex>* xptr = (QList<QModelIndex>*)x[0].s_class;
            QList<QModelIndex> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemModel::match(x1, x2, x3, x4, x5);
    }
    virtual QSize span(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2548, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemModel::span(x1);
    }
    virtual bool submit() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2549, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::submit();
    }
    virtual void revert() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2550, (void*)this, x)) return;
        this->QAbstractItemModel::revert();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(2687, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2688, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2689, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2690, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2691, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2692, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 25: //Akonadi::AgentTypeModel::Roles
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::AgentTypeModel::Roles;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::AgentTypeModel::Roles*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::AgentTypeModel::Roles*)xdata = (Akonadi::AgentTypeModel::Roles)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::AgentTypeModel::Roles*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_Akonadi__AgentTypeModel() { this->_binding->deleted(17, (void*)this); }
};
void xenum_Akonadi__AgentTypeModel(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Akonadi__AgentTypeModel::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Akonadi__AgentTypeModel(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__AgentTypeModel *xself = (x_Akonadi__AgentTypeModel*)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__AgentTypeModel::x_3(args);	break;
        case 4: x_Akonadi__AgentTypeModel::x_4(args);	break;
        case 5: x_Akonadi__AgentTypeModel::x_5(args);	break;
        case 6: x_Akonadi__AgentTypeModel::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__AgentTypeModel::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: x_Akonadi__AgentTypeModel::x_15(args);	break;
        case 16: x_Akonadi__AgentTypeModel::x_16(args);	break;
        case 17: x_Akonadi__AgentTypeModel::x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: x_Akonadi__AgentTypeModel::x_22(args);	break;
        case 23: x_Akonadi__AgentTypeModel::x_23(args);	break;
        case 24: x_Akonadi__AgentTypeModel::x_24(args);	break;
        case 25: x_Akonadi__AgentTypeModel::x_25(args);	break;
        case 26: x_Akonadi__AgentTypeModel::x_26(args);	break;
        case 27: x_Akonadi__AgentTypeModel::x_27(args);	break;
        case 28: x_Akonadi__AgentTypeModel::x_28(args);	break;
        case 29: delete (Akonadi::AgentTypeModel*)xself;	break;
    }
}
class x_Akonadi__AgentTypeWidget : public Akonadi::AgentTypeWidget, 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::AgentTypeWidget*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__AgentTypeWidget*)this)->Akonadi::AgentTypeWidget::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__AgentTypeWidget*)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::AgentTypeWidget*>(this))) {
            void* xret = this->Akonadi::AgentTypeWidget::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::AgentTypeWidget::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::AgentTypeWidget::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::AgentTypeWidget::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::AgentTypeWidget::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::AgentTypeWidget*>(this))) {
            int xret = this->Akonadi::AgentTypeWidget::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::AgentTypeWidget* AgentTypeWidget(QWidget*)
        x_Akonadi__AgentTypeWidget* xret = new x_Akonadi__AgentTypeWidget((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AgentTypeWidget(QWidget* x1) : AgentTypeWidget(x1) {}
    void x_9(Smoke::Stack x) {
        // Akonadi::AgentType currentAgentType() const
        Akonadi::AgentType xret = ((const x_Akonadi__AgentTypeWidget*)this)->Akonadi::AgentTypeWidget::currentAgentType();
        x[0].s_class = (void*)new Akonadi::AgentType(xret);
    }
    void x_10(Smoke::Stack x) {
        // Akonadi::AgentFilterProxyModel* agentFilterProxyModel() const
        Akonadi::AgentFilterProxyModel* xret = ((const x_Akonadi__AgentTypeWidget*)this)->Akonadi::AgentTypeWidget::agentFilterProxyModel();
        x[0].s_class = (void*)xret;
    }
    void x_11(Smoke::Stack x) {
        // void currentChanged(const Akonadi::AgentType&, const Akonadi::AgentType&)
        this->Akonadi::AgentTypeWidget::currentChanged(*(const Akonadi::AgentType*)x[1].s_class,*(const Akonadi::AgentType*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void activated()
        this->Akonadi::AgentTypeWidget::activated();
        (void)x; // noop (for compiler warning)
    }
    static void x_13(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::AgentTypeWidget::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::AgentTypeWidget::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::AgentTypeWidget* AgentTypeWidget()
        x_Akonadi__AgentTypeWidget* xret = new x_Akonadi__AgentTypeWidget((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_16(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::AgentTypeWidget::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(298, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::AgentTypeWidget::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(299, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::AgentTypeWidget::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(304, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::AgentTypeWidget::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__AgentTypeWidget() { this->_binding->deleted(18, (void*)this); }
};
void xcall_Akonadi__AgentTypeWidget(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__AgentTypeWidget *xself = (x_Akonadi__AgentTypeWidget*)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__AgentTypeWidget::x_3(args);	break;
        case 4: x_Akonadi__AgentTypeWidget::x_4(args);	break;
        case 5: x_Akonadi__AgentTypeWidget::x_5(args);	break;
        case 6: x_Akonadi__AgentTypeWidget::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__AgentTypeWidget::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__AgentTypeWidget::x_13(args);	break;
        case 14: x_Akonadi__AgentTypeWidget::x_14(args);	break;
        case 15: x_Akonadi__AgentTypeWidget::x_15(args);	break;
        case 16: x_Akonadi__AgentTypeWidget::x_16(args);	break;
        case 17: delete (Akonadi::AgentTypeWidget*)xself;	break;
    }
}
class x_Akonadi__Attribute : public Akonadi::Attribute, 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 QByteArray type() const = 0
        QByteArray xret = ((const x_Akonadi__Attribute*)this)->type();
        x[0].s_class = (void*)new QByteArray(xret);
    }
    void x_2(Smoke::Stack x) {
        // virtual Akonadi::Attribute* clone() const = 0
        Akonadi::Attribute* xret = ((const x_Akonadi__Attribute*)this)->clone();
        x[0].s_class = (void*)xret;
    }
    void x_3(Smoke::Stack x) {
        // virtual QByteArray serialized() const = 0
        QByteArray xret = ((const x_Akonadi__Attribute*)this)->serialized();
        x[0].s_class = (void*)new QByteArray(xret);
    }
    void x_4(Smoke::Stack x) {
        // virtual void deserialize(const QByteArray&) = 0
        this->deserialize(*(const QByteArray*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_5(Smoke::Stack x) {
        // Akonadi::Attribute* Attribute()
        x_Akonadi__Attribute* xret = new x_Akonadi__Attribute();
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__Attribute() : Attribute() {}
    static void x_6(Smoke::Stack x) {
        // Akonadi::Attribute* Attribute(const Akonadi::Attribute&)
        x_Akonadi__Attribute* xret = new x_Akonadi__Attribute(*(const Akonadi::Attribute*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__Attribute(const Akonadi::Attribute& x1) : Attribute(x1) {}
    virtual QByteArray type() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(315, (void*)this, x, true /*pure virtual*/);
        QByteArray* xptr = (QByteArray*)x[0].s_class;
        QByteArray xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual Akonadi::Attribute* clone() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(316, (void*)this, x, true /*pure virtual*/);
        return (Akonadi::Attribute*)x[0].s_class;
    }
    virtual QByteArray serialized() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(317, (void*)this, x, true /*pure virtual*/);
        QByteArray* xptr = (QByteArray*)x[0].s_class;
        QByteArray xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void deserialize(const QByteArray& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(318, (void*)this, x, true /*pure virtual*/);
    }
    ~x_Akonadi__Attribute() { this->_binding->deleted(19, (void*)this); }
};
void xcall_Akonadi__Attribute(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__Attribute *xself = (x_Akonadi__Attribute*)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: x_Akonadi__Attribute::x_5(args);	break;
        case 6: x_Akonadi__Attribute::x_6(args);	break;
        case 7: delete (Akonadi::Attribute*)xself;	break;
    }
}
class x_Akonadi__AttributeFactory : public Akonadi::AttributeFactory {
    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) {
        // static Akonadi::Attribute* createAttribute(const QByteArray&)
        Akonadi::Attribute* xret = Akonadi::AttributeFactory::createAttribute(*(const QByteArray*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    static void x_2(Smoke::Stack x) {
        // Akonadi::AttributeFactory* AttributeFactory()
        x_Akonadi__AttributeFactory* xret = new x_Akonadi__AttributeFactory();
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AttributeFactory() : AttributeFactory() {}
    static void x_3(Smoke::Stack x) {
        // Akonadi::AttributeFactory* AttributeFactory(const Akonadi::AttributeFactory&)
        x_Akonadi__AttributeFactory* xret = new x_Akonadi__AttributeFactory(*(const Akonadi::AttributeFactory*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__AttributeFactory(const Akonadi::AttributeFactory& x1) : AttributeFactory(x1) {}
    ~x_Akonadi__AttributeFactory() { this->_binding->deleted(20, (void*)this); }
};
void xcall_Akonadi__AttributeFactory(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__AttributeFactory *xself = (x_Akonadi__AttributeFactory*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Akonadi__AttributeFactory::x_1(args);	break;
        case 2: x_Akonadi__AttributeFactory::x_2(args);	break;
        case 3: x_Akonadi__AttributeFactory::x_3(args);	break;
        case 4: delete (Akonadi::AttributeFactory*)xself;	break;
    }
}
class x_Akonadi__CachePolicy : public Akonadi::CachePolicy {
    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::CachePolicy* CachePolicy()
        x_Akonadi__CachePolicy* xret = new x_Akonadi__CachePolicy();
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__CachePolicy() : CachePolicy() {}
    static void x_2(Smoke::Stack x) {
        // Akonadi::CachePolicy* CachePolicy(const Akonadi::CachePolicy&)
        x_Akonadi__CachePolicy* xret = new x_Akonadi__CachePolicy(*(const Akonadi::CachePolicy*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__CachePolicy(const Akonadi::CachePolicy& x1) : CachePolicy(x1) {}
    void x_3(Smoke::Stack x) {
        // bool inheritFromParent() const
        bool xret = ((const x_Akonadi__CachePolicy*)this)->Akonadi::CachePolicy::inheritFromParent();
        x[0].s_bool = xret;
    }
    void x_4(Smoke::Stack x) {
        // void setInheritFromParent(bool)
        this->Akonadi::CachePolicy::setInheritFromParent((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) {
        // QStringList localParts() const
        QStringList xret = ((const x_Akonadi__CachePolicy*)this)->Akonadi::CachePolicy::localParts();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_6(Smoke::Stack x) {
        // void setLocalParts(const QStringList&)
        this->Akonadi::CachePolicy::setLocalParts(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_7(Smoke::Stack x) {
        // int cacheTimeout() const
        int xret = ((const x_Akonadi__CachePolicy*)this)->Akonadi::CachePolicy::cacheTimeout();
        x[0].s_int = xret;
    }
    void x_8(Smoke::Stack x) {
        // void setCacheTimeout(int)
        this->Akonadi::CachePolicy::setCacheTimeout((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // int intervalCheckTime() const
        int xret = ((const x_Akonadi__CachePolicy*)this)->Akonadi::CachePolicy::intervalCheckTime();
        x[0].s_int = xret;
    }
    void x_10(Smoke::Stack x) {
        // void setIntervalCheckTime(int)
        this->Akonadi::CachePolicy::setIntervalCheckTime((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // bool syncOnDemand() const
        bool xret = ((const x_Akonadi__CachePolicy*)this)->Akonadi::CachePolicy::syncOnDemand();
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // void setSyncOnDemand(bool)
        this->Akonadi::CachePolicy::setSyncOnDemand((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // Akonadi::CachePolicy& operator=(const Akonadi::CachePolicy&)
        Akonadi::CachePolicy& xret = this->Akonadi::CachePolicy::operator=(*(const Akonadi::CachePolicy*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_14(Smoke::Stack x) {
        // bool operator==(const Akonadi::CachePolicy&) const
        bool xret = ((const x_Akonadi__CachePolicy*)this)->Akonadi::CachePolicy::operator==(*(const Akonadi::CachePolicy*)x[1].s_class);
        x[0].s_bool = xret;
    }
    ~x_Akonadi__CachePolicy() { this->_binding->deleted(21, (void*)this); }
};
void xcall_Akonadi__CachePolicy(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__CachePolicy *xself = (x_Akonadi__CachePolicy*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Akonadi__CachePolicy::x_1(args);	break;
        case 2: x_Akonadi__CachePolicy::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: delete (Akonadi::CachePolicy*)xself;	break;
    }
}
class x_Akonadi__ChangeRecorder : public Akonadi::ChangeRecorder, 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::ChangeRecorder*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__ChangeRecorder*)this)->Akonadi::ChangeRecorder::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__ChangeRecorder*)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::ChangeRecorder*>(this))) {
            void* xret = this->Akonadi::ChangeRecorder::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::ChangeRecorder::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::ChangeRecorder::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::ChangeRecorder::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::ChangeRecorder::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::ChangeRecorder*>(this))) {
            int xret = this->Akonadi::ChangeRecorder::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::ChangeRecorder* ChangeRecorder(QObject*)
        x_Akonadi__ChangeRecorder* xret = new x_Akonadi__ChangeRecorder((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ChangeRecorder(QObject* x1) : ChangeRecorder(x1) {}
    void x_9(Smoke::Stack x) {
        // void setConfig(QSettings*)
        this->Akonadi::ChangeRecorder::setConfig((QSettings*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // bool isEmpty() const
        bool xret = ((const x_Akonadi__ChangeRecorder*)this)->Akonadi::ChangeRecorder::isEmpty();
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // void changeProcessed()
        this->Akonadi::ChangeRecorder::changeProcessed();
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void setChangeRecordingEnabled(bool)
        this->Akonadi::ChangeRecorder::setChangeRecordingEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // QString dumpNotificationListToString() const
        QString xret = ((const x_Akonadi__ChangeRecorder*)this)->Akonadi::ChangeRecorder::dumpNotificationListToString();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_14(Smoke::Stack x) {
        // void replayNext()
        this->Akonadi::ChangeRecorder::replayNext();
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void changesAdded()
        this->Akonadi::ChangeRecorder::changesAdded();
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // void nothingToReplay()
        this->Akonadi::ChangeRecorder::nothingToReplay();
        (void)x; // noop (for compiler warning)
    }
    static void x_17(Smoke::Stack x) {
        // Akonadi::ChangeRecorder* ChangeRecorder(Akonadi::ChangeRecorderPrivate*, QObject*)
        x_Akonadi__ChangeRecorder* xret = new x_Akonadi__ChangeRecorder((Akonadi::ChangeRecorderPrivate*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ChangeRecorder(Akonadi::ChangeRecorderPrivate* x1, QObject* x2) : ChangeRecorder(x1, x2) {}
    static void x_18(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::ChangeRecorder::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_19(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::ChangeRecorder::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_20(Smoke::Stack x) {
        // Akonadi::ChangeRecorder* ChangeRecorder()
        x_Akonadi__ChangeRecorder* xret = new x_Akonadi__ChangeRecorder((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_21(Smoke::Stack x) {
        // Akonadi::ChangeRecorder* ChangeRecorder(Akonadi::ChangeRecorderPrivate*)
        x_Akonadi__ChangeRecorder* xret = new x_Akonadi__ChangeRecorder((Akonadi::ChangeRecorderPrivate*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_22(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::ChangeRecorder::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(341, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::ChangeRecorder::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(342, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::ChangeRecorder::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(347, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::ChangeRecorder::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__ChangeRecorder() { this->_binding->deleted(22, (void*)this); }
};
void xcall_Akonadi__ChangeRecorder(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__ChangeRecorder *xself = (x_Akonadi__ChangeRecorder*)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__ChangeRecorder::x_3(args);	break;
        case 4: x_Akonadi__ChangeRecorder::x_4(args);	break;
        case 5: x_Akonadi__ChangeRecorder::x_5(args);	break;
        case 6: x_Akonadi__ChangeRecorder::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__ChangeRecorder::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: x_Akonadi__ChangeRecorder::x_17(args);	break;
        case 18: x_Akonadi__ChangeRecorder::x_18(args);	break;
        case 19: x_Akonadi__ChangeRecorder::x_19(args);	break;
        case 20: x_Akonadi__ChangeRecorder::x_20(args);	break;
        case 21: x_Akonadi__ChangeRecorder::x_21(args);	break;
        case 22: x_Akonadi__ChangeRecorder::x_22(args);	break;
        case 23: delete (Akonadi::ChangeRecorder*)xself;	break;
    }
}
class x_Akonadi__Collection : public Akonadi::Collection {
    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::Collection* Collection()
        x_Akonadi__Collection* xret = new x_Akonadi__Collection();
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__Collection() : Collection() {}
    static void x_2(Smoke::Stack x) {
        // Akonadi::Collection* Collection(long long)
        x_Akonadi__Collection* xret = new x_Akonadi__Collection(*(long long*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__Collection(long long x1) : Collection(x1) {}
    static void x_3(Smoke::Stack x) {
        // Akonadi::Collection* Collection(const Akonadi::Collection&)
        x_Akonadi__Collection* xret = new x_Akonadi__Collection(*(const Akonadi::Collection*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__Collection(const Akonadi::Collection& x1) : Collection(x1) {}
    static void x_4(Smoke::Stack x) {
        // static Akonadi::Collection fromUrl(const KUrl&)
        Akonadi::Collection xret = Akonadi::Collection::fromUrl(*(const KUrl*)x[1].s_class);
        x[0].s_class = (void*)new Akonadi::Collection(xret);
    }
    void x_5(Smoke::Stack x) {
        // QString name() const
        QString xret = ((const x_Akonadi__Collection*)this)->Akonadi::Collection::name();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_6(Smoke::Stack x) {
        // QString displayName() const
        QString xret = ((const x_Akonadi__Collection*)this)->Akonadi::Collection::displayName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // void setName(const QString&)
        this->Akonadi::Collection::setName(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // QFlags<Akonadi::Collection::Right> rights() const
        QFlags<Akonadi::Collection::Right> xret = ((const x_Akonadi__Collection*)this)->Akonadi::Collection::rights();
        x[0].s_uint = (uint)xret;
    }
    void x_9(Smoke::Stack x) {
        // void setRights(QFlags<Akonadi::Collection::Right>)
        this->Akonadi::Collection::setRights((QFlags<Akonadi::Collection::Right>)x[1].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // QStringList contentMimeTypes() const
        QStringList xret = ((const x_Akonadi__Collection*)this)->Akonadi::Collection::contentMimeTypes();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_11(Smoke::Stack x) {
        // void setContentMimeTypes(const QStringList&)
        this->Akonadi::Collection::setContentMimeTypes(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // long long parent() const
        long long xret = ((const x_Akonadi__Collection*)this)->Akonadi::Collection::parent();
        x[0].s_class = (void*)new long long(xret);
    }
    void x_13(Smoke::Stack x) {
        // void setParent(long long)
        this->Akonadi::Collection::setParent(*(long long*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // void setParent(const Akonadi::Collection&)
        this->Akonadi::Collection::setParent(*(const Akonadi::Collection*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // QString parentRemoteId() const
        QString xret = ((const x_Akonadi__Collection*)this)->Akonadi::Collection::parentRemoteId();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_16(Smoke::Stack x) {
        // void setParentRemoteId(const QString&)
        this->Akonadi::Collection::setParentRemoteId(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_17(Smoke::Stack x) {
        // static Akonadi::Collection root()
        Akonadi::Collection xret = Akonadi::Collection::root();
        x[0].s_class = (void*)new Akonadi::Collection(xret);
    }
    static void x_18(Smoke::Stack x) {
        // static QString mimeType()
        QString xret = Akonadi::Collection::mimeType();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_19(Smoke::Stack x) {
        // static QString virtualMimeType()
        QString xret = Akonadi::Collection::virtualMimeType();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_20(Smoke::Stack x) {
        // QString resource() const
        QString xret = ((const x_Akonadi__Collection*)this)->Akonadi::Collection::resource();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_21(Smoke::Stack x) {
        // void setResource(const QString&)
        this->Akonadi::Collection::setResource(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // Akonadi::CachePolicy cachePolicy() const
        Akonadi::CachePolicy xret = ((const x_Akonadi__Collection*)this)->Akonadi::Collection::cachePolicy();
        x[0].s_class = (void*)new Akonadi::CachePolicy(xret);
    }
    void x_23(Smoke::Stack x) {
        // void setCachePolicy(const Akonadi::CachePolicy&)
        this->Akonadi::Collection::setCachePolicy(*(const Akonadi::CachePolicy*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // Akonadi::CollectionStatistics statistics() const
        Akonadi::CollectionStatistics xret = ((const x_Akonadi__Collection*)this)->Akonadi::Collection::statistics();
        x[0].s_class = (void*)new Akonadi::CollectionStatistics(xret);
    }
    void x_25(Smoke::Stack x) {
        // void setStatistics(const Akonadi::CollectionStatistics&)
        this->Akonadi::Collection::setStatistics(*(const Akonadi::CollectionStatistics*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // KUrl url() const
        KUrl xret = ((const x_Akonadi__Collection*)this)->Akonadi::Collection::url();
        x[0].s_class = (void*)new KUrl(xret);
    }
    void x_27(Smoke::Stack x) {
        // KUrl url(Akonadi::Collection::UrlType) const
        KUrl xret = ((const x_Akonadi__Collection*)this)->Akonadi::Collection::url((Akonadi::Collection::UrlType)x[1].s_enum);
        x[0].s_class = (void*)new KUrl(xret);
    }
    void x_28(Smoke::Stack x) {
        // bool isVirtual() const
        bool xret = ((const x_Akonadi__Collection*)this)->Akonadi::Collection::isVirtual();
        x[0].s_bool = xret;
    }
    void x_29(Smoke::Stack x) {
        // void setVirtual(bool)
        this->Akonadi::Collection::setVirtual((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // void setEnabled(bool)
        this->Akonadi::Collection::setEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // bool enabled() const
        bool xret = ((const x_Akonadi__Collection*)this)->Akonadi::Collection::enabled();
        x[0].s_bool = xret;
    }
    void x_32(Smoke::Stack x) {
        // void setLocalListPreference(Akonadi::Collection::ListPurpose, Akonadi::Collection::ListPreference)
        this->Akonadi::Collection::setLocalListPreference((Akonadi::Collection::ListPurpose)x[1].s_enum,(Akonadi::Collection::ListPreference)x[2].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // Akonadi::Collection::ListPreference localListPreference(Akonadi::Collection::ListPurpose) const
        Akonadi::Collection::ListPreference xret = ((const x_Akonadi__Collection*)this)->Akonadi::Collection::localListPreference((Akonadi::Collection::ListPurpose)x[1].s_enum);
        x[0].s_enum = xret;
    }
    void x_34(Smoke::Stack x) {
        // bool shouldList(Akonadi::Collection::ListPurpose) const
        bool xret = ((const x_Akonadi__Collection*)this)->Akonadi::Collection::shouldList((Akonadi::Collection::ListPurpose)x[1].s_enum);
        x[0].s_bool = xret;
    }
    void x_35(Smoke::Stack x) {
        // void setShouldList(Akonadi::Collection::ListPurpose, bool)
        this->Akonadi::Collection::setShouldList((Akonadi::Collection::ListPurpose)x[1].s_enum,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_36(Smoke::Stack x) {
        // void setReferenced(bool)
        this->Akonadi::Collection::setReferenced((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_37(Smoke::Stack x) {
        // bool referenced() const
        bool xret = ((const x_Akonadi__Collection*)this)->Akonadi::Collection::referenced();
        x[0].s_bool = xret;
    }
    static void x_38(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Collection::ReadOnly;
    }
    static void x_39(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Collection::CanChangeItem;
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Collection::CanCreateItem;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Collection::CanDeleteItem;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Collection::CanChangeCollection;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Collection::CanCreateCollection;
    }
    static void x_44(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Collection::CanDeleteCollection;
    }
    static void x_45(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Collection::CanLinkItem;
    }
    static void x_46(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Collection::CanUnlinkItem;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Collection::AllRights;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Collection::UrlShort;
    }
    static void x_49(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Collection::UrlWithName;
    }
    static void x_50(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Collection::ListEnabled;
    }
    static void x_51(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Collection::ListDisabled;
    }
    static void x_52(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Collection::ListDefault;
    }
    static void x_53(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Collection::ListSync;
    }
    static void x_54(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Collection::ListDisplay;
    }
    static void x_55(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Collection::ListIndex;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 41: //Akonadi::Collection::Right
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::Collection::Right;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::Collection::Right*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::Collection::Right*)xdata = (Akonadi::Collection::Right)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::Collection::Right*)xdata;
                    break;
            }
            break;
        case 42: //Akonadi::Collection::UrlType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::Collection::UrlType;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::Collection::UrlType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::Collection::UrlType*)xdata = (Akonadi::Collection::UrlType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::Collection::UrlType*)xdata;
                    break;
            }
            break;
        case 39: //Akonadi::Collection::ListPreference
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::Collection::ListPreference;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::Collection::ListPreference*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::Collection::ListPreference*)xdata = (Akonadi::Collection::ListPreference)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::Collection::ListPreference*)xdata;
                    break;
            }
            break;
        case 40: //Akonadi::Collection::ListPurpose
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::Collection::ListPurpose;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::Collection::ListPurpose*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::Collection::ListPurpose*)xdata = (Akonadi::Collection::ListPurpose)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::Collection::ListPurpose*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_Akonadi__Collection() { this->_binding->deleted(24, (void*)this); }
};
void xenum_Akonadi__Collection(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Akonadi__Collection::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Akonadi__Collection(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__Collection *xself = (x_Akonadi__Collection*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Akonadi__Collection::x_1(args);	break;
        case 2: x_Akonadi__Collection::x_2(args);	break;
        case 3: x_Akonadi__Collection::x_3(args);	break;
        case 4: x_Akonadi__Collection::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: x_Akonadi__Collection::x_17(args);	break;
        case 18: x_Akonadi__Collection::x_18(args);	break;
        case 19: x_Akonadi__Collection::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: x_Akonadi__Collection::x_38(args);	break;
        case 39: x_Akonadi__Collection::x_39(args);	break;
        case 40: x_Akonadi__Collection::x_40(args);	break;
        case 41: x_Akonadi__Collection::x_41(args);	break;
        case 42: x_Akonadi__Collection::x_42(args);	break;
        case 43: x_Akonadi__Collection::x_43(args);	break;
        case 44: x_Akonadi__Collection::x_44(args);	break;
        case 45: x_Akonadi__Collection::x_45(args);	break;
        case 46: x_Akonadi__Collection::x_46(args);	break;
        case 47: x_Akonadi__Collection::x_47(args);	break;
        case 48: x_Akonadi__Collection::x_48(args);	break;
        case 49: x_Akonadi__Collection::x_49(args);	break;
        case 50: x_Akonadi__Collection::x_50(args);	break;
        case 51: x_Akonadi__Collection::x_51(args);	break;
        case 52: x_Akonadi__Collection::x_52(args);	break;
        case 53: x_Akonadi__Collection::x_53(args);	break;
        case 54: x_Akonadi__Collection::x_54(args);	break;
        case 55: x_Akonadi__Collection::x_55(args);	break;
        case 56: delete (Akonadi::Collection*)xself;	break;
    }
}
class x_Akonadi__CollectionComboBox : public Akonadi::CollectionComboBox, 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::CollectionComboBox*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__CollectionComboBox*)this)->Akonadi::CollectionComboBox::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__CollectionComboBox*)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::CollectionComboBox*>(this))) {
            void* xret = this->Akonadi::CollectionComboBox::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::CollectionComboBox::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::CollectionComboBox::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::CollectionComboBox::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::CollectionComboBox::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::CollectionComboBox*>(this))) {
            int xret = this->Akonadi::CollectionComboBox::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::CollectionComboBox* CollectionComboBox(QWidget*)
        x_Akonadi__CollectionComboBox* xret = new x_Akonadi__CollectionComboBox((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__CollectionComboBox(QWidget* x1) : CollectionComboBox(x1) {}
    static void x_9(Smoke::Stack x) {
        // Akonadi::CollectionComboBox* CollectionComboBox(QAbstractItemModel*, QWidget*)
        x_Akonadi__CollectionComboBox* xret = new x_Akonadi__CollectionComboBox((QAbstractItemModel*)x[1].s_class,(QWidget*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__CollectionComboBox(QAbstractItemModel* x1, QWidget* x2) : CollectionComboBox(x1, x2) {}
    void x_10(Smoke::Stack x) {
        // void setMimeTypeFilter(const QStringList&)
        this->Akonadi::CollectionComboBox::setMimeTypeFilter(*(const QStringList*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // QStringList mimeTypeFilter() const
        QStringList xret = ((const x_Akonadi__CollectionComboBox*)this)->Akonadi::CollectionComboBox::mimeTypeFilter();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_12(Smoke::Stack x) {
        // void setAccessRightsFilter(QFlags<Akonadi::Collection::Right>)
        this->Akonadi::CollectionComboBox::setAccessRightsFilter((QFlags<Akonadi::Collection::Right>)x[1].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // QFlags<Akonadi::Collection::Right> accessRightsFilter() const
        QFlags<Akonadi::Collection::Right> xret = ((const x_Akonadi__CollectionComboBox*)this)->Akonadi::CollectionComboBox::accessRightsFilter();
        x[0].s_uint = (uint)xret;
    }
    void x_14(Smoke::Stack x) {
        // void setDefaultCollection(const Akonadi::Collection&)
        this->Akonadi::CollectionComboBox::setDefaultCollection(*(const Akonadi::Collection*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // Akonadi::Collection currentCollection() const
        Akonadi::Collection xret = ((const x_Akonadi__CollectionComboBox*)this)->Akonadi::CollectionComboBox::currentCollection();
        x[0].s_class = (void*)new Akonadi::Collection(xret);
    }
    void x_16(Smoke::Stack x) {
        // void setExcludeVirtualCollections(bool)
        this->Akonadi::CollectionComboBox::setExcludeVirtualCollections((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // bool excludeVirtualCollections() const
        bool xret = ((const x_Akonadi__CollectionComboBox*)this)->Akonadi::CollectionComboBox::excludeVirtualCollections();
        x[0].s_bool = xret;
    }
    void x_18(Smoke::Stack x) {
        // void currentChanged(const Akonadi::Collection&)
        this->Akonadi::CollectionComboBox::currentChanged(*(const Akonadi::Collection*)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::CollectionComboBox::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::CollectionComboBox::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::CollectionComboBox* CollectionComboBox()
        x_Akonadi__CollectionComboBox* xret = new x_Akonadi__CollectionComboBox((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_22(Smoke::Stack x) {
        // Akonadi::CollectionComboBox* CollectionComboBox(QAbstractItemModel*)
        x_Akonadi__CollectionComboBox* xret = new x_Akonadi__CollectionComboBox((QAbstractItemModel*)x[1].s_class,(QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_23(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::CollectionComboBox::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(420, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::CollectionComboBox::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(421, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::CollectionComboBox::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(426, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::CollectionComboBox::qt_metacall(x1, x2, x3);
    }
    virtual void setAutoCompletion(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(2479, (void*)this, x)) return;
        this->KComboBox::setAutoCompletion(x1);
    }
    virtual void setContextMenuEnabled(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(2480, (void*)this, x)) return;
        this->KComboBox::setContextMenuEnabled(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(2481, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KComboBox::eventFilter(x1, x2);
    }
    virtual void setLineEdit(QLineEdit* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2482, (void*)this, x)) return;
        this->KComboBox::setLineEdit(x1);
    }
    virtual void setCompletedText(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2483, (void*)this, x)) return;
        this->KComboBox::setCompletedText(x1);
    }
    virtual void makeCompletion(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2485, (void*)this, x)) return;
        this->KComboBox::makeCompletion(x1);
    }
    virtual void setCompletedText(const QString& x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(2486, (void*)this, x)) return;
        this->KComboBox::setCompletedText(x1, x2);
    }
    virtual void create(unsigned long x1, bool x2, bool x3) {
        Smoke::StackItem x[4];
        x[1].s_ulong = x1;
        x[2].s_bool = x2;
        x[3].s_bool = x3;
        if (this->_binding->callMethod(2487, (void*)this, x)) return;
        this->KComboBox::create(x1, x2, x3);
    }
    virtual void wheelEvent(QWheelEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2488, (void*)this, x)) return;
        this->KComboBox::wheelEvent(x1);
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2489, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KComboBox::minimumSizeHint();
    }
    virtual void showPopup() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2631, (void*)this, x)) return;
        this->QComboBox::showPopup();
    }
    virtual void hidePopup() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2632, (void*)this, x)) return;
        this->QComboBox::hidePopup();
    }
    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(2630, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QComboBox::sizeHint();
    }
    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(2641, (void*)this, x)) return;
        this->QComboBox::mousePressEvent(x1);
    }
    virtual void mouseReleaseEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2642, (void*)this, x)) return;
        this->QComboBox::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 keyPressEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2643, (void*)this, x)) return;
        this->QComboBox::keyPressEvent(x1);
    }
    virtual void keyReleaseEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2644, (void*)this, x)) return;
        this->QComboBox::keyReleaseEvent(x1);
    }
    virtual void focusInEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2634, (void*)this, x)) return;
        this->QComboBox::focusInEvent(x1);
    }
    virtual void focusOutEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2635, (void*)this, x)) return;
        this->QComboBox::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(2638, (void*)this, x)) return;
        this->QComboBox::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(2637, (void*)this, x)) return;
        this->QComboBox::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(2645, (void*)this, x)) return;
        this->QComboBox::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(2639, (void*)this, x)) return;
        this->QComboBox::showEvent(x1);
    }
    virtual void hideEvent(QHideEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2640, (void*)this, x)) return;
        this->QComboBox::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(2636, (void*)this, x)) return;
        this->QComboBox::changeEvent(x1);
    }
    virtual void inputMethodEvent(QInputMethodEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2646, (void*)this, x)) return;
        this->QComboBox::inputMethodEvent(x1);
    }
    virtual QVariant inputMethodQuery(Qt::InputMethodQuery x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(2647, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QComboBox::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(2633, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QComboBox::event(x1);
    }
    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);
    }
    virtual void setCompletionObject(KCompletion* x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(2490, (void*)this, x)) return;
        this->KCompletionBase::setCompletionObject(x1, x2);
    }
    virtual void setHandleSignals(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(2491, (void*)this, x)) return;
        this->KCompletionBase::setHandleSignals(x1);
    }
    virtual void setCompletionMode(KGlobalSettings::Completion x1) {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(2492, (void*)this, x)) return;
        this->KCompletionBase::setCompletionMode(x1);
    }
    virtual void setCompletedItems(const QStringList& x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(2484, (void*)this, x)) return;
        this->KComboBox::setCompletedItems(x1, x2);
    }
    virtual void virtual_hook(int x1, void* x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(2493, (void*)this, x)) return;
        this->KCompletionBase::virtual_hook(x1, x2);
    }
    ~x_Akonadi__CollectionComboBox() { this->_binding->deleted(25, (void*)this); }
};
void xcall_Akonadi__CollectionComboBox(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__CollectionComboBox *xself = (x_Akonadi__CollectionComboBox*)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__CollectionComboBox::x_3(args);	break;
        case 4: x_Akonadi__CollectionComboBox::x_4(args);	break;
        case 5: x_Akonadi__CollectionComboBox::x_5(args);	break;
        case 6: x_Akonadi__CollectionComboBox::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__CollectionComboBox::x_8(args);	break;
        case 9: x_Akonadi__CollectionComboBox::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__CollectionComboBox::x_19(args);	break;
        case 20: x_Akonadi__CollectionComboBox::x_20(args);	break;
        case 21: x_Akonadi__CollectionComboBox::x_21(args);	break;
        case 22: x_Akonadi__CollectionComboBox::x_22(args);	break;
        case 23: x_Akonadi__CollectionComboBox::x_23(args);	break;
        case 24: delete (Akonadi::CollectionComboBox*)xself;	break;
    }
}

}
