//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__EntityTreeView : public Akonadi::EntityTreeView, 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::EntityTreeView*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__EntityTreeView*)this)->Akonadi::EntityTreeView::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__EntityTreeView*)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::EntityTreeView*>(this))) {
            void* xret = this->Akonadi::EntityTreeView::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::EntityTreeView::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::EntityTreeView::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::EntityTreeView::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::EntityTreeView::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::EntityTreeView*>(this))) {
            int xret = this->Akonadi::EntityTreeView::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::EntityTreeView* EntityTreeView(QWidget*)
        x_Akonadi__EntityTreeView* xret = new x_Akonadi__EntityTreeView((QWidget*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__EntityTreeView(QWidget* x1) : EntityTreeView(x1) {}
    static void x_9(Smoke::Stack x) {
        // Akonadi::EntityTreeView* EntityTreeView(KXMLGUIClient*, QWidget*)
        x_Akonadi__EntityTreeView* xret = new x_Akonadi__EntityTreeView((KXMLGUIClient*)x[1].s_class,(QWidget*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__EntityTreeView(KXMLGUIClient* x1, QWidget* x2) : EntityTreeView(x1, x2) {}
    void x_10(Smoke::Stack x) {
        // void setXmlGuiClient(KXMLGUIClient*)
        this->Akonadi::EntityTreeView::setXmlGuiClient((KXMLGUIClient*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // KXMLGUIClient* xmlGuiClient() const
        KXMLGUIClient* xret = ((const x_Akonadi__EntityTreeView*)this)->Akonadi::EntityTreeView::xmlGuiClient();
        x[0].s_class = (void*)xret;
    }
    void x_12(Smoke::Stack x) {
        // virtual void setModel(QAbstractItemModel*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeView*>(this))) {
            this->Akonadi::EntityTreeView::setModel((QAbstractItemModel*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setModel((QAbstractItemModel*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_13(Smoke::Stack x) {
        // void setDropActionMenuEnabled(bool)
        this->Akonadi::EntityTreeView::setDropActionMenuEnabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // bool isDropActionMenuEnabled() const
        bool xret = ((const x_Akonadi__EntityTreeView*)this)->Akonadi::EntityTreeView::isDropActionMenuEnabled();
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // bool isManualSortingActive() const
        bool xret = ((const x_Akonadi__EntityTreeView*)this)->Akonadi::EntityTreeView::isManualSortingActive();
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // void setManualSortingActive(bool)
        this->Akonadi::EntityTreeView::setManualSortingActive((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void setDefaultPopupMenu(const QString&)
        this->Akonadi::EntityTreeView::setDefaultPopupMenu(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // void clicked(const Akonadi::Collection&)
        this->Akonadi::EntityTreeView::clicked(*(const Akonadi::Collection*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // void clicked(const Akonadi::Item&)
        this->Akonadi::EntityTreeView::clicked(*(const Akonadi::Item*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // void doubleClicked(const Akonadi::Collection&)
        this->Akonadi::EntityTreeView::doubleClicked(*(const Akonadi::Collection*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // void doubleClicked(const Akonadi::Item&)
        this->Akonadi::EntityTreeView::doubleClicked(*(const Akonadi::Item*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // void currentChanged(const Akonadi::Collection&)
        this->Akonadi::EntityTreeView::currentChanged(*(const Akonadi::Collection*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // void currentChanged(const Akonadi::Item&)
        this->Akonadi::EntityTreeView::currentChanged(*(const Akonadi::Item*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // void currentChanged(const QModelIndex&, const QModelIndex&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeView*>(this))) {
            this->Akonadi::EntityTreeView::currentChanged(*(const QModelIndex*)x[1].s_class,*(const QModelIndex*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->currentChanged(*(const QModelIndex*)x[1].s_class,*(const QModelIndex*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_25(Smoke::Stack x) {
        // virtual void startDrag(QFlags<Qt::DropAction>)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeView*>(this))) {
            this->Akonadi::EntityTreeView::startDrag((QFlags<Qt::DropAction>)x[1].s_uint);
            (void)x; // noop (for compiler warning)
        } else {
            this->startDrag((QFlags<Qt::DropAction>)x[1].s_uint);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_26(Smoke::Stack x) {
        // virtual void dragMoveEvent(QDragMoveEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeView*>(this))) {
            this->Akonadi::EntityTreeView::dragMoveEvent((QDragMoveEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->dragMoveEvent((QDragMoveEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_27(Smoke::Stack x) {
        // virtual void dropEvent(QDropEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeView*>(this))) {
            this->Akonadi::EntityTreeView::dropEvent((QDropEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->dropEvent((QDropEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_28(Smoke::Stack x) {
        // virtual void timerEvent(QTimerEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeView*>(this))) {
            this->Akonadi::EntityTreeView::timerEvent((QTimerEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->timerEvent((QTimerEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_29(Smoke::Stack x) {
        // virtual void contextMenuEvent(QContextMenuEvent*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::EntityTreeView*>(this))) {
            this->Akonadi::EntityTreeView::contextMenuEvent((QContextMenuEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->contextMenuEvent((QContextMenuEvent*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_30(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::EntityTreeView::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_31(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::EntityTreeView::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_32(Smoke::Stack x) {
        // Akonadi::EntityTreeView* EntityTreeView()
        x_Akonadi__EntityTreeView* xret = new x_Akonadi__EntityTreeView((QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_33(Smoke::Stack x) {
        // Akonadi::EntityTreeView* EntityTreeView(KXMLGUIClient*)
        x_Akonadi__EntityTreeView* xret = new x_Akonadi__EntityTreeView((KXMLGUIClient*)x[1].s_class,(QWidget*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_34(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::EntityTreeView::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1370, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::EntityTreeView::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1371, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::EntityTreeView::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(1376, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::EntityTreeView::qt_metacall(x1, x2, x3);
    }
    virtual void setModel(QAbstractItemModel* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1381, (void*)this, x)) return;
        this->Akonadi::EntityTreeView::setModel(x1);
    }
    virtual void startDrag(QFlags<Qt::DropAction> x1) {
        Smoke::StackItem x[2];
        x[1].s_uint = (uint)x1;
        if (this->_binding->callMethod(1394, (void*)this, x)) return;
        this->Akonadi::EntityTreeView::startDrag(x1);
    }
    virtual void dragMoveEvent(QDragMoveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1395, (void*)this, x)) return;
        this->Akonadi::EntityTreeView::dragMoveEvent(x1);
    }
    virtual void dropEvent(QDropEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1396, (void*)this, x)) return;
        this->Akonadi::EntityTreeView::dropEvent(x1);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1397, (void*)this, x)) return;
        this->Akonadi::EntityTreeView::timerEvent(x1);
    }
    virtual void contextMenuEvent(QContextMenuEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1398, (void*)this, x)) return;
        this->Akonadi::EntityTreeView::contextMenuEvent(x1);
    }
    virtual void drawRow(QPainter* x1, const QStyleOptionViewItem& x2, const QModelIndex& x3) const {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2754, (void*)this, x)) return;
        this->QTreeView::drawRow(x1, x2, x3);
    }
    virtual void drawBranches(QPainter* x1, const QRect& x2, const QModelIndex& x3) const {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2755, (void*)this, x)) return;
        this->QTreeView::drawBranches(x1, x2, x3);
    }
    virtual void setSelectionModel(QItemSelectionModel* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2734, (void*)this, x)) return;
        this->QTreeView::setSelectionModel(x1);
    }
    virtual void keyboardSearch(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2735, (void*)this, x)) return;
        this->QTreeView::keyboardSearch(x1);
    }
    virtual QRect visualRect(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2736, (void*)this, x)) {
            QRect* xptr = (QRect*)x[0].s_class;
            QRect xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTreeView::visualRect(x1);
    }
    virtual void scrollTo(const QModelIndex& x1, QAbstractItemView::ScrollHint x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(2737, (void*)this, x)) return;
        this->QTreeView::scrollTo(x1, x2);
    }
    virtual QModelIndex indexAt(const QPoint& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2738, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTreeView::indexAt(x1);
    }
    virtual int sizeHintForRow(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2553, (void*)this, x)) return (int)x[0].s_int;
        return this->QAbstractItemView::sizeHintForRow(x1);
    }
    virtual int sizeHintForColumn(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2764, (void*)this, x)) return (int)x[0].s_int;
        return this->QTreeView::sizeHintForColumn(x1);
    }
    virtual QVariant inputMethodQuery(Qt::InputMethodQuery x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(2555, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemView::inputMethodQuery(x1);
    }
    virtual void reset() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2740, (void*)this, x)) return;
        this->QTreeView::reset();
    }
    virtual void setRootIndex(const QModelIndex& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2733, (void*)this, x)) return;
        this->QTreeView::setRootIndex(x1);
    }
    virtual void doItemsLayout() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2739, (void*)this, x)) return;
        this->QTreeView::doItemsLayout();
    }
    virtual void selectAll() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2742, (void*)this, x)) return;
        this->QTreeView::selectAll();
    }
    virtual void dataChanged(const QModelIndex& x1, const QModelIndex& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(2741, (void*)this, x)) return;
        this->QTreeView::dataChanged(x1, x2);
    }
    virtual void rowsInserted(const QModelIndex& x1, int x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(2744, (void*)this, x)) return;
        this->QTreeView::rowsInserted(x1, x2, x3);
    }
    virtual void rowsAboutToBeRemoved(const QModelIndex& x1, int x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(2745, (void*)this, x)) return;
        this->QTreeView::rowsAboutToBeRemoved(x1, x2, x3);
    }
    virtual void selectionChanged(const QItemSelection& x1, const QItemSelection& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(2767, (void*)this, x)) return;
        this->QTreeView::selectionChanged(x1, x2);
    }
    virtual void currentChanged(const QModelIndex& x1, const QModelIndex& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1393, (void*)this, x)) return;
        this->Akonadi::EntityTreeView::currentChanged(x1, x2);
    }
    virtual void updateEditorData() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2557, (void*)this, x)) return;
        this->QAbstractItemView::updateEditorData();
    }
    virtual void updateEditorGeometries() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2558, (void*)this, x)) return;
        this->QAbstractItemView::updateEditorGeometries();
    }
    virtual void updateGeometries() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2763, (void*)this, x)) return;
        this->QTreeView::updateGeometries();
    }
    virtual void verticalScrollbarAction(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2559, (void*)this, x)) return;
        this->QAbstractItemView::verticalScrollbarAction(x1);
    }
    virtual void horizontalScrollbarAction(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2765, (void*)this, x)) return;
        this->QTreeView::horizontalScrollbarAction(x1);
    }
    virtual void verticalScrollbarValueChanged(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2561, (void*)this, x)) return;
        this->QAbstractItemView::verticalScrollbarValueChanged(x1);
    }
    virtual void horizontalScrollbarValueChanged(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2562, (void*)this, x)) return;
        this->QAbstractItemView::horizontalScrollbarValueChanged(x1);
    }
    virtual void closeEditor(QWidget* x1, QAbstractItemDelegate::EndEditHint x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(2563, (void*)this, x)) return;
        this->QAbstractItemView::closeEditor(x1, x2);
    }
    virtual void commitData(QWidget* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2564, (void*)this, x)) return;
        this->QAbstractItemView::commitData(x1);
    }
    virtual void editorDestroyed(QObject* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2565, (void*)this, x)) return;
        this->QAbstractItemView::editorDestroyed(x1);
    }
    virtual QModelIndex moveCursor(QAbstractItemView::CursorAction x1, QFlags<Qt::KeyboardModifier> x2) {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_uint = (uint)x2;
        if (this->_binding->callMethod(2746, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTreeView::moveCursor(x1, x2);
    }
    virtual int horizontalOffset() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2747, (void*)this, x)) return (int)x[0].s_int;
        return this->QTreeView::horizontalOffset();
    }
    virtual int verticalOffset() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2748, (void*)this, x)) return (int)x[0].s_int;
        return this->QTreeView::verticalOffset();
    }
    virtual bool isIndexHidden(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2766, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QTreeView::isIndexHidden(x1);
    }
    virtual void setSelection(const QRect& x1, QFlags<QItemSelectionModel::SelectionFlag> x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_uint = (uint)x2;
        if (this->_binding->callMethod(2749, (void*)this, x)) return;
        this->QTreeView::setSelection(x1, x2);
    }
    virtual QRegion visualRegionForSelection(const QItemSelection& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2750, (void*)this, x)) {
            QRegion* xptr = (QRegion*)x[0].s_class;
            QRegion xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTreeView::visualRegionForSelection(x1);
    }
    virtual QList<QModelIndex> selectedIndexes() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2751, (void*)this, x)) {
            QList<QModelIndex>* xptr = (QList<QModelIndex>*)x[0].s_class;
            QList<QModelIndex> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QTreeView::selectedIndexes();
    }
    virtual bool edit(const QModelIndex& x1, QAbstractItemView::EditTrigger x2, QEvent* x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_enum = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(2566, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemView::edit(x1, x2, x3);
    }
    virtual QFlags<QItemSelectionModel::SelectionFlag> selectionCommand(const QModelIndex& x1, const QEvent* x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(2567, (void*)this, x)) return (QFlags<QItemSelectionModel::SelectionFlag>)x[0].s_uint;
        return this->QAbstractItemView::selectionCommand(x1, x2);
    }
    virtual QStyleOptionViewItem viewOptions() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2569, (void*)this, x)) {
            QStyleOptionViewItem* xptr = (QStyleOptionViewItem*)x[0].s_class;
            QStyleOptionViewItem xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractItemView::viewOptions();
    }
    virtual bool viewportEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2762, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QTreeView::viewportEvent(x1);
    }
    virtual void scrollContentsBy(int x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(2743, (void*)this, x)) return;
        this->QTreeView::scrollContentsBy(x1, x2);
    }
    virtual void setVisible(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(2772, (void*)this, x)) return;
        this->QWidget::setVisible(x1);
    }
    virtual QSize sizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2627, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractScrollArea::sizeHint();
    }
    virtual QSize minimumSizeHint() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2626, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractScrollArea::minimumSizeHint();
    }
    virtual int heightForWidth(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(2775, (void*)this, x)) return (int)x[0].s_int;
        return this->QWidget::heightForWidth(x1);
    }
    virtual void mousePressEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2756, (void*)this, x)) return;
        this->QTreeView::mousePressEvent(x1);
    }
    virtual void mouseReleaseEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2757, (void*)this, x)) return;
        this->QTreeView::mouseReleaseEvent(x1);
    }
    virtual void mouseDoubleClickEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2758, (void*)this, x)) return;
        this->QTreeView::mouseDoubleClickEvent(x1);
    }
    virtual void mouseMoveEvent(QMouseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2759, (void*)this, x)) return;
        this->QTreeView::mouseMoveEvent(x1);
    }
    virtual void wheelEvent(QWheelEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2628, (void*)this, x)) return;
        this->QAbstractScrollArea::wheelEvent(x1);
    }
    virtual void keyPressEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2760, (void*)this, x)) return;
        this->QTreeView::keyPressEvent(x1);
    }
    virtual void keyReleaseEvent(QKeyEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2784, (void*)this, x)) return;
        this->QWidget::keyReleaseEvent(x1);
    }
    virtual void focusInEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2578, (void*)this, x)) return;
        this->QAbstractItemView::focusInEvent(x1);
    }
    virtual void focusOutEvent(QFocusEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2579, (void*)this, x)) return;
        this->QAbstractItemView::focusOutEvent(x1);
    }
    virtual void enterEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2787, (void*)this, x)) return;
        this->QWidget::enterEvent(x1);
    }
    virtual void leaveEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2788, (void*)this, x)) return;
        this->QWidget::leaveEvent(x1);
    }
    virtual void paintEvent(QPaintEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2753, (void*)this, x)) return;
        this->QTreeView::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(2581, (void*)this, x)) return;
        this->QAbstractItemView::resizeEvent(x1);
    }
    virtual void closeEvent(QCloseEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2792, (void*)this, x)) return;
        this->QWidget::closeEvent(x1);
    }
    virtual void tabletEvent(QTabletEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2794, (void*)this, x)) return;
        this->QWidget::tabletEvent(x1);
    }
    virtual void actionEvent(QActionEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2795, (void*)this, x)) return;
        this->QWidget::actionEvent(x1);
    }
    virtual void dragEnterEvent(QDragEnterEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2575, (void*)this, x)) return;
        this->QAbstractItemView::dragEnterEvent(x1);
    }
    virtual void dragLeaveEvent(QDragLeaveEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2576, (void*)this, x)) return;
        this->QAbstractItemView::dragLeaveEvent(x1);
    }
    virtual void showEvent(QShowEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2800, (void*)this, x)) return;
        this->QWidget::showEvent(x1);
    }
    virtual void hideEvent(QHideEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2801, (void*)this, x)) return;
        this->QWidget::hideEvent(x1);
    }
    virtual bool x11Event(_XEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2802, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QWidget::x11Event(x1);
    }
    virtual void changeEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2658, (void*)this, x)) return;
        this->QFrame::changeEvent(x1);
    }
    virtual void inputMethodEvent(QInputMethodEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2582, (void*)this, x)) return;
        this->QAbstractItemView::inputMethodEvent(x1);
    }
    virtual bool focusNextPrevChild(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(2570, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemView::focusNextPrevChild(x1);
    }
    virtual void styleChange(QStyle& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2808, (void*)this, x)) return;
        this->QWidget::styleChange(x1);
    }
    virtual void enabledChange(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(2809, (void*)this, x)) return;
        this->QWidget::enabledChange(x1);
    }
    virtual void paletteChange(const QPalette& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2810, (void*)this, x)) return;
        this->QWidget::paletteChange(x1);
    }
    virtual void fontChange(const QFont& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2811, (void*)this, x)) return;
        this->QWidget::fontChange(x1);
    }
    virtual void windowActivationChange(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(2812, (void*)this, x)) return;
        this->QWidget::windowActivationChange(x1);
    }
    virtual void languageChange() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2813, (void*)this, x)) return;
        this->QWidget::languageChange();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2571, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemView::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 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__EntityTreeView() { this->_binding->deleted(69, (void*)this); }
};
void xcall_Akonadi__EntityTreeView(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__EntityTreeView *xself = (x_Akonadi__EntityTreeView*)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__EntityTreeView::x_3(args);	break;
        case 4: x_Akonadi__EntityTreeView::x_4(args);	break;
        case 5: x_Akonadi__EntityTreeView::x_5(args);	break;
        case 6: x_Akonadi__EntityTreeView::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__EntityTreeView::x_8(args);	break;
        case 9: x_Akonadi__EntityTreeView::x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: x_Akonadi__EntityTreeView::x_30(args);	break;
        case 31: x_Akonadi__EntityTreeView::x_31(args);	break;
        case 32: x_Akonadi__EntityTreeView::x_32(args);	break;
        case 33: x_Akonadi__EntityTreeView::x_33(args);	break;
        case 34: x_Akonadi__EntityTreeView::x_34(args);	break;
        case 35: delete (Akonadi::EntityTreeView*)xself;	break;
    }
}
class x_Akonadi__EntityTreeViewStateSaver : public Akonadi::EntityTreeViewStateSaver, 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::EntityTreeViewStateSaver*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__EntityTreeViewStateSaver*)this)->Akonadi::EntityTreeViewStateSaver::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__EntityTreeViewStateSaver*)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::EntityTreeViewStateSaver*>(this))) {
            void* xret = this->Akonadi::EntityTreeViewStateSaver::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::EntityTreeViewStateSaver::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::EntityTreeViewStateSaver::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::EntityTreeViewStateSaver::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::EntityTreeViewStateSaver::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::EntityTreeViewStateSaver*>(this))) {
            int xret = this->Akonadi::EntityTreeViewStateSaver::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::EntityTreeViewStateSaver* EntityTreeViewStateSaver(QTreeView*)
        x_Akonadi__EntityTreeViewStateSaver* xret = new x_Akonadi__EntityTreeViewStateSaver((QTreeView*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__EntityTreeViewStateSaver(QTreeView* x1) : EntityTreeViewStateSaver(x1) {}
    void x_9(Smoke::Stack x) {
        // void saveState(KConfigGroup&) const
        ((const x_Akonadi__EntityTreeViewStateSaver*)this)->Akonadi::EntityTreeViewStateSaver::saveState(*(KConfigGroup*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // void restoreState(const KConfigGroup&) const
        ((const x_Akonadi__EntityTreeViewStateSaver*)this)->Akonadi::EntityTreeViewStateSaver::restoreState(*(const KConfigGroup*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_11(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::EntityTreeViewStateSaver::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_12(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::EntityTreeViewStateSaver::trUtf8((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 const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::EntityTreeViewStateSaver::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1405, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::EntityTreeViewStateSaver::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1406, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::EntityTreeViewStateSaver::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(1411, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::EntityTreeViewStateSaver::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__EntityTreeViewStateSaver() { this->_binding->deleted(70, (void*)this); }
};
void xcall_Akonadi__EntityTreeViewStateSaver(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__EntityTreeViewStateSaver *xself = (x_Akonadi__EntityTreeViewStateSaver*)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__EntityTreeViewStateSaver::x_3(args);	break;
        case 4: x_Akonadi__EntityTreeViewStateSaver::x_4(args);	break;
        case 5: x_Akonadi__EntityTreeViewStateSaver::x_5(args);	break;
        case 6: x_Akonadi__EntityTreeViewStateSaver::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__EntityTreeViewStateSaver::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: x_Akonadi__EntityTreeViewStateSaver::x_11(args);	break;
        case 12: x_Akonadi__EntityTreeViewStateSaver::x_12(args);	break;
        case 13: x_Akonadi__EntityTreeViewStateSaver::x_13(args);	break;
        case 14: delete (Akonadi::EntityTreeViewStateSaver*)xself;	break;
    }
}
class x_Akonadi__Exception : public Akonadi::Exception, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // Akonadi::Exception* Exception(const char*)
        x_Akonadi__Exception* xret = new x_Akonadi__Exception((const char*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__Exception(const char* x1) : Exception(x1) {}
    static void x_2(Smoke::Stack x) {
        // Akonadi::Exception* Exception(const QByteArray&)
        x_Akonadi__Exception* xret = new x_Akonadi__Exception(*(const QByteArray*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__Exception(const QByteArray& x1) : Exception(x1) {}
    static void x_3(Smoke::Stack x) {
        // Akonadi::Exception* Exception(const QString&)
        x_Akonadi__Exception* xret = new x_Akonadi__Exception(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__Exception(const QString& x1) : Exception(x1) {}
    static void x_4(Smoke::Stack x) {
        // Akonadi::Exception* Exception(const Akonadi::Exception&)
        x_Akonadi__Exception* xret = new x_Akonadi__Exception(*(const Akonadi::Exception*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__Exception(const Akonadi::Exception& x1) : Exception(x1) {}
    void x_5(Smoke::Stack x) {
        // const char* what() const
        const char* xret = ((const x_Akonadi__Exception*)this)->Akonadi::Exception::what();
        x[0].s_class = (void*)xret;
    }
    void x_6(Smoke::Stack x) {
        // virtual QByteArray type() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::Exception*>(this))) {
            QByteArray xret = ((const x_Akonadi__Exception*)this)->Akonadi::Exception::type();
            x[0].s_class = (void*)new QByteArray(xret);
        } else {
            QByteArray xret = ((const x_Akonadi__Exception*)this)->type();
            x[0].s_class = (void*)new QByteArray(xret);
        }
    }
    virtual QByteArray type() const throw() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1424, (void*)this, x)) {
            QByteArray* xptr = (QByteArray*)x[0].s_class;
            QByteArray xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::Exception::type();
    }
    ~x_Akonadi__Exception() throw() { this->_binding->deleted(71, (void*)this); }
};
void xcall_Akonadi__Exception(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__Exception *xself = (x_Akonadi__Exception*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Akonadi__Exception::x_1(args);	break;
        case 2: x_Akonadi__Exception::x_2(args);	break;
        case 3: x_Akonadi__Exception::x_3(args);	break;
        case 4: x_Akonadi__Exception::x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: delete (Akonadi::Exception*)xself;	break;
    }
}
class x_Akonadi__FavoriteCollectionsModel : public Akonadi::FavoriteCollectionsModel, 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::FavoriteCollectionsModel*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__FavoriteCollectionsModel*)this)->Akonadi::FavoriteCollectionsModel::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__FavoriteCollectionsModel*)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::FavoriteCollectionsModel*>(this))) {
            void* xret = this->Akonadi::FavoriteCollectionsModel::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::FavoriteCollectionsModel::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::FavoriteCollectionsModel::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::FavoriteCollectionsModel::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::FavoriteCollectionsModel::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::FavoriteCollectionsModel*>(this))) {
            int xret = this->Akonadi::FavoriteCollectionsModel::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::FavoriteCollectionsModel* FavoriteCollectionsModel(QAbstractItemModel*, const KConfigGroup&, QObject*)
        x_Akonadi__FavoriteCollectionsModel* xret = new x_Akonadi__FavoriteCollectionsModel((QAbstractItemModel*)x[1].s_class,*(const KConfigGroup*)x[2].s_class,(QObject*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__FavoriteCollectionsModel(QAbstractItemModel* x1, const KConfigGroup& x2, QObject* x3) : FavoriteCollectionsModel(x1, x2, x3) {}
    void x_9(Smoke::Stack x) {
        // QList<Akonadi::Collection> collections() const
        QList<Akonadi::Collection> xret = ((const x_Akonadi__FavoriteCollectionsModel*)this)->Akonadi::FavoriteCollectionsModel::collections();
        x[0].s_class = (void*)new QList<Akonadi::Collection>(xret);
    }
    void x_10(Smoke::Stack x) {
        // QList<Akonadi::Collection::Id> collectionIds() const
        QList<Akonadi::Collection::Id> xret = ((const x_Akonadi__FavoriteCollectionsModel*)this)->Akonadi::FavoriteCollectionsModel::collectionIds();
        x[0].s_class = (void*)new QList<Akonadi::Collection::Id>(xret);
    }
    void x_11(Smoke::Stack x) {
        // QString favoriteLabel(const Akonadi::Collection&)
        QString xret = this->Akonadi::FavoriteCollectionsModel::favoriteLabel(*(const Akonadi::Collection*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_12(Smoke::Stack x) {
        // virtual QVariant data(const QModelIndex&, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::FavoriteCollectionsModel*>(this))) {
            QVariant xret = ((const x_Akonadi__FavoriteCollectionsModel*)this)->Akonadi::FavoriteCollectionsModel::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__FavoriteCollectionsModel*)this)->data(*(const QModelIndex*)x[1].s_class,(int)x[2].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_13(Smoke::Stack x) {
        // virtual bool setData(const QModelIndex&, const QVariant&, int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::FavoriteCollectionsModel*>(this))) {
            bool xret = this->Akonadi::FavoriteCollectionsModel::setData(*(const QModelIndex*)x[1].s_class,*(const QVariant*)x[2].s_class,(int)x[3].s_int);
            x[0].s_bool = xret;
        } else {
            bool xret = this->setData(*(const QModelIndex*)x[1].s_class,*(const QVariant*)x[2].s_class,(int)x[3].s_int);
            x[0].s_bool = xret;
        }
    }
    void x_14(Smoke::Stack x) {
        // virtual QVariant headerData(int, Qt::Orientation, int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::FavoriteCollectionsModel*>(this))) {
            QVariant xret = ((const x_Akonadi__FavoriteCollectionsModel*)this)->Akonadi::FavoriteCollectionsModel::headerData((int)x[1].s_int,(Qt::Orientation)x[2].s_enum,(int)x[3].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = ((const x_Akonadi__FavoriteCollectionsModel*)this)->headerData((int)x[1].s_int,(Qt::Orientation)x[2].s_enum,(int)x[3].s_int);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_15(Smoke::Stack x) {
        // virtual bool dropMimeData(const QMimeData*, Qt::DropAction, int, int, const QModelIndex&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::FavoriteCollectionsModel*>(this))) {
            bool xret = this->Akonadi::FavoriteCollectionsModel::dropMimeData((const QMimeData*)x[1].s_class,(Qt::DropAction)x[2].s_enum,(int)x[3].s_int,(int)x[4].s_int,*(const QModelIndex*)x[5].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->dropMimeData((const QMimeData*)x[1].s_class,(Qt::DropAction)x[2].s_enum,(int)x[3].s_int,(int)x[4].s_int,*(const QModelIndex*)x[5].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_16(Smoke::Stack x) {
        // virtual QStringList mimeTypes() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::FavoriteCollectionsModel*>(this))) {
            QStringList xret = ((const x_Akonadi__FavoriteCollectionsModel*)this)->Akonadi::FavoriteCollectionsModel::mimeTypes();
            x[0].s_class = (void*)new QStringList(xret);
        } else {
            QStringList xret = ((const x_Akonadi__FavoriteCollectionsModel*)this)->mimeTypes();
            x[0].s_class = (void*)new QStringList(xret);
        }
    }
    void x_17(Smoke::Stack x) {
        // virtual QFlags<Qt::ItemFlag> flags(const QModelIndex&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::FavoriteCollectionsModel*>(this))) {
            QFlags<Qt::ItemFlag> xret = ((const x_Akonadi__FavoriteCollectionsModel*)this)->Akonadi::FavoriteCollectionsModel::flags(*(const QModelIndex*)x[1].s_class);
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<Qt::ItemFlag> xret = ((const x_Akonadi__FavoriteCollectionsModel*)this)->flags(*(const QModelIndex*)x[1].s_class);
            x[0].s_uint = (uint)xret;
        }
    }
    void x_18(Smoke::Stack x) {
        // void setCollections(const Akonadi::Collection::List&)
        this->Akonadi::FavoriteCollectionsModel::setCollections(*(const Akonadi::Collection::List*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // void addCollection(const Akonadi::Collection&)
        this->Akonadi::FavoriteCollectionsModel::addCollection(*(const Akonadi::Collection*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // void removeCollection(const Akonadi::Collection&)
        this->Akonadi::FavoriteCollectionsModel::removeCollection(*(const Akonadi::Collection*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // void setFavoriteLabel(const Akonadi::Collection&, const QString&)
        this->Akonadi::FavoriteCollectionsModel::setFavoriteLabel(*(const Akonadi::Collection*)x[1].s_class,*(const QString*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_22(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::FavoriteCollectionsModel::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_23(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::FavoriteCollectionsModel::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_24(Smoke::Stack x) {
        // Akonadi::FavoriteCollectionsModel* FavoriteCollectionsModel(QAbstractItemModel*, const KConfigGroup&)
        x_Akonadi__FavoriteCollectionsModel* xret = new x_Akonadi__FavoriteCollectionsModel((QAbstractItemModel*)x[1].s_class,*(const KConfigGroup*)x[2].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_25(Smoke::Stack x) {
        // QVariant data(const QModelIndex&) const
        QVariant xret = ((const x_Akonadi__FavoriteCollectionsModel*)this)->Akonadi::FavoriteCollectionsModel::data(*(const QModelIndex*)x[1].s_class,(int)Qt::DisplayRole);
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_26(Smoke::Stack x) {
        // bool setData(const QModelIndex&, const QVariant&)
        bool xret = this->Akonadi::FavoriteCollectionsModel::setData(*(const QModelIndex*)x[1].s_class,*(const QVariant*)x[2].s_class,(int)Qt::EditRole);
        x[0].s_bool = xret;
    }
    void x_27(Smoke::Stack x) {
        // QVariant headerData(int, Qt::Orientation) const
        QVariant xret = ((const x_Akonadi__FavoriteCollectionsModel*)this)->Akonadi::FavoriteCollectionsModel::headerData((int)x[1].s_int,(Qt::Orientation)x[2].s_enum,(int)Qt::DisplayRole);
        x[0].s_class = (void*)new QVariant(xret);
    }
    static void x_28(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::FavoriteCollectionsModel::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1426, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::FavoriteCollectionsModel::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1427, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::FavoriteCollectionsModel::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(1432, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::FavoriteCollectionsModel::qt_metacall(x1, x2, x3);
    }
    virtual QVariant data(const QModelIndex& x1, int x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(1437, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::FavoriteCollectionsModel::data(x1, x2);
    }
    virtual bool setData(const QModelIndex& x1, const QVariant& x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(1438, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::FavoriteCollectionsModel::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(1439, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::FavoriteCollectionsModel::headerData(x1, x2, x3);
    }
    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(1440, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::FavoriteCollectionsModel::dropMimeData(x1, x2, x3, x4, x5);
    }
    virtual QStringList mimeTypes() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1441, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::FavoriteCollectionsModel::mimeTypes();
    }
    virtual QFlags<Qt::ItemFlag> flags(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(1442, (void*)this, x)) return (QFlags<Qt::ItemFlag>)x[0].s_uint;
        return this->Akonadi::FavoriteCollectionsModel::flags(x1);
    }
    virtual int rowCount(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2518, (void*)this, x)) return (int)x[0].s_int;
        return this->KSelectionProxyModel::rowCount(x1);
    }
    virtual QMimeData* mimeData(const QList<QModelIndex>& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2520, (void*)this, x)) return (QMimeData*)x[0].s_class;
        return this->KSelectionProxyModel::mimeData(x1);
    }
    virtual QFlags<Qt::DropAction> supportedDropActions() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2522, (void*)this, x)) return (QFlags<Qt::DropAction>)x[0].s_uint;
        return this->KSelectionProxyModel::supportedDropActions();
    }
    virtual bool hasChildren(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2524, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KSelectionProxyModel::hasChildren(x1);
    }
    virtual QModelIndex index(int x1, int x2, const QModelIndex& x3) const {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2525, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KSelectionProxyModel::index(x1, x2, x3);
    }
    virtual QModelIndex parent(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2526, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KSelectionProxyModel::parent(x1);
    }
    virtual int columnCount(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2527, (void*)this, x)) return (int)x[0].s_int;
        return this->KSelectionProxyModel::columnCount(x1);
    }
    virtual QList<QModelIndex> match(const QModelIndex& x1, int x2, const QVariant& x3, int x4, QFlags<Qt::MatchFlag> x5) const {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        x[4].s_int = x4;
        x[5].s_uint = (uint)x5;
        if (this->_binding->callMethod(2528, (void*)this, x)) {
            QList<QModelIndex>* xptr = (QList<QModelIndex>*)x[0].s_class;
            QList<QModelIndex> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KSelectionProxyModel::match(x1, x2, x3, x4, x5);
    }
    virtual QModelIndex mapToSource(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2513, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KSelectionProxyModel::mapToSource(x1);
    }
    virtual QModelIndex mapFromSource(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2512, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KSelectionProxyModel::mapFromSource(x1);
    }
    virtual QItemSelection mapSelectionToSource(const QItemSelection& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2515, (void*)this, x)) {
            QItemSelection* xptr = (QItemSelection*)x[0].s_class;
            QItemSelection xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KSelectionProxyModel::mapSelectionToSource(x1);
    }
    virtual QItemSelection mapSelectionFromSource(const QItemSelection& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2514, (void*)this, x)) {
            QItemSelection* xptr = (QItemSelection*)x[0].s_class;
            QItemSelection xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KSelectionProxyModel::mapSelectionFromSource(x1);
    }
    virtual bool setHeaderData(int x1, Qt::Orientation x2, const QVariant& x3, int x4) {
        Smoke::StackItem x[5];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        x[3].s_class = (void*)&x3;
        x[4].s_int = x4;
        if (this->_binding->callMethod(2619, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractProxyModel::setHeaderData(x1, x2, x3, x4);
    }
    virtual QMap<int,QVariant> itemData(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2615, (void*)this, x)) {
            QMap<int,QVariant>* xptr = (QMap<int,QVariant>*)x[0].s_class;
            QMap<int,QVariant> xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractProxyModel::itemData(x1);
    }
    virtual bool setItemData(const QModelIndex& x1, const QMap<int,QVariant>& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(2618, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractProxyModel::setItemData(x1, x2);
    }
    virtual bool insertRows(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2539, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::insertRows(x1, x2, x3);
    }
    virtual bool insertColumns(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2540, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::insertColumns(x1, x2, x3);
    }
    virtual bool removeRows(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2541, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::removeRows(x1, x2, x3);
    }
    virtual bool removeColumns(int x1, int x2, const QModelIndex& x3) {
        Smoke::StackItem x[4];
        x[1].s_int = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2542, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractItemModel::removeColumns(x1, x2, x3);
    }
    virtual void fetchMore(const QModelIndex& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2622, (void*)this, x)) return;
        this->QAbstractProxyModel::fetchMore(x1);
    }
    virtual bool canFetchMore(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2621, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractProxyModel::canFetchMore(x1);
    }
    virtual void sort(int x1, Qt::SortOrder x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(2623, (void*)this, x)) return;
        this->QAbstractProxyModel::sort(x1, x2);
    }
    virtual QModelIndex buddy(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2620, (void*)this, x)) {
            QModelIndex* xptr = (QModelIndex*)x[0].s_class;
            QModelIndex xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractProxyModel::buddy(x1);
    }
    virtual QSize span(const QModelIndex& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(2624, (void*)this, x)) {
            QSize* xptr = (QSize*)x[0].s_class;
            QSize xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QAbstractProxyModel::span(x1);
    }
    virtual bool submit() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2611, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QAbstractProxyModel::submit();
    }
    virtual void revert() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2612, (void*)this, x)) return;
        this->QAbstractProxyModel::revert();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(2687, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2688, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2689, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2690, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2691, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2692, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_Akonadi__FavoriteCollectionsModel() { this->_binding->deleted(72, (void*)this); }
};
void xcall_Akonadi__FavoriteCollectionsModel(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__FavoriteCollectionsModel *xself = (x_Akonadi__FavoriteCollectionsModel*)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__FavoriteCollectionsModel::x_3(args);	break;
        case 4: x_Akonadi__FavoriteCollectionsModel::x_4(args);	break;
        case 5: x_Akonadi__FavoriteCollectionsModel::x_5(args);	break;
        case 6: x_Akonadi__FavoriteCollectionsModel::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__FavoriteCollectionsModel::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: x_Akonadi__FavoriteCollectionsModel::x_22(args);	break;
        case 23: x_Akonadi__FavoriteCollectionsModel::x_23(args);	break;
        case 24: x_Akonadi__FavoriteCollectionsModel::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: x_Akonadi__FavoriteCollectionsModel::x_28(args);	break;
        case 29: delete (Akonadi::FavoriteCollectionsModel*)xself;	break;
    }
}
class x_Akonadi__Item : public Akonadi::Item {
    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::Item* Item()
        x_Akonadi__Item* xret = new x_Akonadi__Item();
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__Item() : Item() {}
    static void x_2(Smoke::Stack x) {
        // Akonadi::Item* Item(long long)
        x_Akonadi__Item* xret = new x_Akonadi__Item(*(long long*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__Item(long long x1) : Item(x1) {}
    static void x_3(Smoke::Stack x) {
        // Akonadi::Item* Item(const QString&)
        x_Akonadi__Item* xret = new x_Akonadi__Item(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__Item(const QString& x1) : Item(x1) {}
    static void x_4(Smoke::Stack x) {
        // Akonadi::Item* Item(const Akonadi::Item&)
        x_Akonadi__Item* xret = new x_Akonadi__Item(*(const Akonadi::Item*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__Item(const Akonadi::Item& x1) : Item(x1) {}
    static void x_5(Smoke::Stack x) {
        // static Akonadi::Item fromUrl(const KUrl&)
        Akonadi::Item xret = Akonadi::Item::fromUrl(*(const KUrl*)x[1].s_class);
        x[0].s_class = (void*)new Akonadi::Item(xret);
    }
    void x_6(Smoke::Stack x) {
        // QSet<QByteArray> flags() const
        QSet<QByteArray> xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::flags();
        x[0].s_class = (void*)new QSet<QByteArray>(xret);
    }
    void x_7(Smoke::Stack x) {
        // QDateTime modificationTime() const
        QDateTime xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::modificationTime();
        x[0].s_class = (void*)new QDateTime(xret);
    }
    void x_8(Smoke::Stack x) {
        // void setModificationTime(const QDateTime&)
        this->Akonadi::Item::setModificationTime(*(const QDateTime*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // bool hasFlag(const QByteArray&) const
        bool xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::hasFlag(*(const QByteArray*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // void setFlag(const QByteArray&)
        this->Akonadi::Item::setFlag(*(const QByteArray*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // void clearFlag(const QByteArray&)
        this->Akonadi::Item::clearFlag(*(const QByteArray*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void setFlags(const QSet<QByteArray>&)
        this->Akonadi::Item::setFlags(*(const QSet<QByteArray>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // void clearFlags()
        this->Akonadi::Item::clearFlags();
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // void setTags(const QList<Akonadi::Tag>&)
        this->Akonadi::Item::setTags(*(const QList<Akonadi::Tag>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void setTag(const Akonadi::Tag&)
        this->Akonadi::Item::setTag(*(const Akonadi::Tag*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // QList<Akonadi::Tag> tags() const
        QList<Akonadi::Tag> xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::tags();
        x[0].s_class = (void*)new QList<Akonadi::Tag>(xret);
    }
    void x_17(Smoke::Stack x) {
        // bool hasTag(const Akonadi::Tag&) const
        bool xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::hasTag(*(const Akonadi::Tag*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_18(Smoke::Stack x) {
        // void clearTag(const Akonadi::Tag&)
        this->Akonadi::Item::clearTag(*(const Akonadi::Tag*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // void clearTags()
        this->Akonadi::Item::clearTags();
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // void setPayloadFromData(const QByteArray&)
        this->Akonadi::Item::setPayloadFromData(*(const QByteArray*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // QByteArray payloadData() const
        QByteArray xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::payloadData();
        x[0].s_class = (void*)new QByteArray(xret);
    }
    void x_22(Smoke::Stack x) {
        // QSet<QByteArray> loadedPayloadParts() const
        QSet<QByteArray> xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::loadedPayloadParts();
        x[0].s_class = (void*)new QSet<QByteArray>(xret);
    }
    void x_23(Smoke::Stack x) {
        // void clearPayload()
        this->Akonadi::Item::clearPayload();
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // void setRevision(int)
        this->Akonadi::Item::setRevision((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // int revision() const
        int xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::revision();
        x[0].s_int = xret;
    }
    void x_26(Smoke::Stack x) {
        // long long storageCollectionId() const
        long long xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::storageCollectionId();
        x[0].s_class = (void*)new long long(xret);
    }
    void x_27(Smoke::Stack x) {
        // void setSize(long long)
        this->Akonadi::Item::setSize(*(long long*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // long long size() const
        long long xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::size();
        x[0].s_class = (void*)new long long(xret);
    }
    void x_29(Smoke::Stack x) {
        // void setMimeType(const QString&)
        this->Akonadi::Item::setMimeType(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // QString mimeType() const
        QString xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::mimeType();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_31(Smoke::Stack x) {
        // void setGid(const QString&)
        this->Akonadi::Item::setGid(*(const QString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // QString gid() const
        QString xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::gid();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_33(Smoke::Stack x) {
        // void setVirtualReferences(const QList<Akonadi::Collection>&)
        this->Akonadi::Item::setVirtualReferences(*(const QList<Akonadi::Collection>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_34(Smoke::Stack x) {
        // QList<Akonadi::Collection> virtualReferences() const
        QList<Akonadi::Collection> xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::virtualReferences();
        x[0].s_class = (void*)new QList<Akonadi::Collection>(xret);
    }
    void x_35(Smoke::Stack x) {
        // QVector<int> availablePayloadMetaTypeIds() const
        QVector<int> xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::availablePayloadMetaTypeIds();
        x[0].s_class = (void*)new QVector<int>(xret);
    }
    void x_36(Smoke::Stack x) {
        // bool hasPayload() const
        bool xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::hasPayload();
        x[0].s_bool = xret;
    }
    void x_37(Smoke::Stack x) {
        // KUrl url(Akonadi::Item::UrlType) const
        KUrl xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::url((Akonadi::Item::UrlType)x[1].s_enum);
        x[0].s_class = (void*)new KUrl(xret);
    }
    void x_38(Smoke::Stack x) {
        // QSet<QByteArray> availablePayloadParts() const
        QSet<QByteArray> xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::availablePayloadParts();
        x[0].s_class = (void*)new QSet<QByteArray>(xret);
    }
    void x_39(Smoke::Stack x) {
        // QSet<QByteArray> cachedPayloadParts() const
        QSet<QByteArray> xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::cachedPayloadParts();
        x[0].s_class = (void*)new QSet<QByteArray>(xret);
    }
    void x_40(Smoke::Stack x) {
        // void apply(const Akonadi::Item&)
        this->Akonadi::Item::apply(*(const Akonadi::Item*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_41(Smoke::Stack x) {
        // void setCachedPayloadParts(const QSet<QByteArray>&)
        this->Akonadi::Item::setCachedPayloadParts(*(const QSet<QByteArray>*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_42(Smoke::Stack x) {
        // KUrl url() const
        KUrl xret = ((const x_Akonadi__Item*)this)->Akonadi::Item::url((Akonadi::Item::UrlType)Akonadi::Item::UrlShort);
        x[0].s_class = (void*)new KUrl(xret);
    }
    static void x_43(Smoke::Stack x) {
        // static const char* FullPayload
        x[0].s_class = (void*)Akonadi::Item::FullPayload;
    }
    static void x_44(Smoke::Stack x) {
        // static const char* FullPayload=
        Akonadi::Item::FullPayload = (const char*)x[1].s_class;
    }
    static void x_45(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Item::UrlShort;
    }
    static void x_46(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::Item::UrlWithMimeType;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 123: //Akonadi::Item::UrlType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::Item::UrlType;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::Item::UrlType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::Item::UrlType*)xdata = (Akonadi::Item::UrlType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::Item::UrlType*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_Akonadi__Item() { this->_binding->deleted(73, (void*)this); }
};
void xenum_Akonadi__Item(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Akonadi__Item::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Akonadi__Item(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__Item *xself = (x_Akonadi__Item*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Akonadi__Item::x_1(args);	break;
        case 2: x_Akonadi__Item::x_2(args);	break;
        case 3: x_Akonadi__Item::x_3(args);	break;
        case 4: x_Akonadi__Item::x_4(args);	break;
        case 5: x_Akonadi__Item::x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: xself->x_41(args);	break;
        case 42: xself->x_42(args);	break;
        case 43: x_Akonadi__Item::x_43(args);	break;
        case 44: x_Akonadi__Item::x_44(args);	break;
        case 45: x_Akonadi__Item::x_45(args);	break;
        case 46: x_Akonadi__Item::x_46(args);	break;
        case 47: delete (Akonadi::Item*)xself;	break;
    }
}
class x_Akonadi__ItemCopyJob : public Akonadi::ItemCopyJob, 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::ItemCopyJob*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__ItemCopyJob*)this)->Akonadi::ItemCopyJob::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__ItemCopyJob*)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::ItemCopyJob*>(this))) {
            void* xret = this->Akonadi::ItemCopyJob::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::ItemCopyJob::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::ItemCopyJob::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::ItemCopyJob::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::ItemCopyJob::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::ItemCopyJob*>(this))) {
            int xret = this->Akonadi::ItemCopyJob::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::ItemCopyJob* ItemCopyJob(const Akonadi::Item&, const Akonadi::Collection&, QObject*)
        x_Akonadi__ItemCopyJob* xret = new x_Akonadi__ItemCopyJob(*(const Akonadi::Item*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class,(QObject*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ItemCopyJob(const Akonadi::Item& x1, const Akonadi::Collection& x2, QObject* x3) : ItemCopyJob(x1, x2, x3) {}
    static void x_9(Smoke::Stack x) {
        // Akonadi::ItemCopyJob* ItemCopyJob(const QList<Akonadi::Item>&, const Akonadi::Collection&, QObject*)
        x_Akonadi__ItemCopyJob* xret = new x_Akonadi__ItemCopyJob(*(const QList<Akonadi::Item>*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class,(QObject*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ItemCopyJob(const QList<Akonadi::Item>& x1, const Akonadi::Collection& x2, QObject* x3) : ItemCopyJob(x1, x2, x3) {}
    void x_10(Smoke::Stack x) {
        // void doStart()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::ItemCopyJob*>(this))) {
            this->Akonadi::ItemCopyJob::doStart();
            (void)x; // noop (for compiler warning)
        } else {
            this->doStart();
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_11(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::ItemCopyJob::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_12(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::ItemCopyJob::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_13(Smoke::Stack x) {
        // Akonadi::ItemCopyJob* ItemCopyJob(const Akonadi::Item&, const Akonadi::Collection&)
        x_Akonadi__ItemCopyJob* xret = new x_Akonadi__ItemCopyJob(*(const Akonadi::Item*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_14(Smoke::Stack x) {
        // Akonadi::ItemCopyJob* ItemCopyJob(const QList<Akonadi::Item>&, const Akonadi::Collection&)
        x_Akonadi__ItemCopyJob* xret = new x_Akonadi__ItemCopyJob(*(const QList<Akonadi::Item>*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_15(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::ItemCopyJob::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1502, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::ItemCopyJob::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1503, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::ItemCopyJob::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(1508, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::ItemCopyJob::qt_metacall(x1, x2, x3);
    }
    virtual QString errorString() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1847, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::Job::errorString();
    }
    virtual void doStart() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1511, (void*)this, x)) return;
        this->Akonadi::ItemCopyJob::doStart();
    }
    virtual void doHandleResponse(const QByteArray& x1, const QByteArray& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1851, (void*)this, x)) return;
        this->Akonadi::Job::doHandleResponse(x1, x2);
    }
    virtual bool addSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1852, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::addSubjob(x1);
    }
    virtual bool removeSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1853, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::removeSubjob(x1);
    }
    virtual bool doKill() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1854, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::doKill();
    }
    virtual void slotResult(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1856, (void*)this, x)) return;
        this->Akonadi::Job::slotResult(x1);
    }
    virtual void slotInfoMessage(KJob* x1, const QString& x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2494, (void*)this, x)) return;
        this->KCompositeJob::slotInfoMessage(x1, x2, x3);
    }
    virtual void start() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1846, (void*)this, x)) return;
        this->Akonadi::Job::start();
    }
    virtual bool doSuspend() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2508, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doSuspend();
    }
    virtual bool doResume() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2509, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doResume();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(2687, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2688, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2689, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2690, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2691, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2692, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_Akonadi__ItemCopyJob() { this->_binding->deleted(74, (void*)this); }
};
void xcall_Akonadi__ItemCopyJob(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__ItemCopyJob *xself = (x_Akonadi__ItemCopyJob*)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__ItemCopyJob::x_3(args);	break;
        case 4: x_Akonadi__ItemCopyJob::x_4(args);	break;
        case 5: x_Akonadi__ItemCopyJob::x_5(args);	break;
        case 6: x_Akonadi__ItemCopyJob::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__ItemCopyJob::x_8(args);	break;
        case 9: x_Akonadi__ItemCopyJob::x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: x_Akonadi__ItemCopyJob::x_11(args);	break;
        case 12: x_Akonadi__ItemCopyJob::x_12(args);	break;
        case 13: x_Akonadi__ItemCopyJob::x_13(args);	break;
        case 14: x_Akonadi__ItemCopyJob::x_14(args);	break;
        case 15: x_Akonadi__ItemCopyJob::x_15(args);	break;
        case 16: delete (Akonadi::ItemCopyJob*)xself;	break;
    }
}
class x_Akonadi__ItemCreateJob : public Akonadi::ItemCreateJob, 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::ItemCreateJob*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__ItemCreateJob*)this)->Akonadi::ItemCreateJob::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__ItemCreateJob*)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::ItemCreateJob*>(this))) {
            void* xret = this->Akonadi::ItemCreateJob::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::ItemCreateJob::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::ItemCreateJob::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::ItemCreateJob::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::ItemCreateJob::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::ItemCreateJob*>(this))) {
            int xret = this->Akonadi::ItemCreateJob::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::ItemCreateJob* ItemCreateJob(const Akonadi::Item&, const Akonadi::Collection&, QObject*)
        x_Akonadi__ItemCreateJob* xret = new x_Akonadi__ItemCreateJob(*(const Akonadi::Item*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class,(QObject*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ItemCreateJob(const Akonadi::Item& x1, const Akonadi::Collection& x2, QObject* x3) : ItemCreateJob(x1, x2, x3) {}
    void x_9(Smoke::Stack x) {
        // Akonadi::Item item() const
        Akonadi::Item xret = ((const x_Akonadi__ItemCreateJob*)this)->Akonadi::ItemCreateJob::item();
        x[0].s_class = (void*)new Akonadi::Item(xret);
    }
    void x_10(Smoke::Stack x) {
        // void setMerge(QFlags<Akonadi::ItemCreateJob::MergeOption>)
        this->Akonadi::ItemCreateJob::setMerge((QFlags<Akonadi::ItemCreateJob::MergeOption>)x[1].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // virtual void doStart()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::ItemCreateJob*>(this))) {
            this->Akonadi::ItemCreateJob::doStart();
            (void)x; // noop (for compiler warning)
        } else {
            this->doStart();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_12(Smoke::Stack x) {
        // virtual void doHandleResponse(const QByteArray&, const QByteArray&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::ItemCreateJob*>(this))) {
            this->Akonadi::ItemCreateJob::doHandleResponse(*(const QByteArray*)x[1].s_class,*(const QByteArray*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->doHandleResponse(*(const QByteArray*)x[1].s_class,*(const QByteArray*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_13(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::ItemCreateJob::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::ItemCreateJob::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::ItemCreateJob* ItemCreateJob(const Akonadi::Item&, const Akonadi::Collection&)
        x_Akonadi__ItemCreateJob* xret = new x_Akonadi__ItemCreateJob(*(const Akonadi::Item*)x[1].s_class,*(const Akonadi::Collection*)x[2].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_16(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::ItemCreateJob::staticMetaObject;
    }
    static void x_17(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ItemCreateJob::NoMerge;
    }
    static void x_18(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ItemCreateJob::RID;
    }
    static void x_19(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ItemCreateJob::GID;
    }
    static void x_20(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ItemCreateJob::Silent;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1518, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::ItemCreateJob::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1519, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::ItemCreateJob::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(1524, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::ItemCreateJob::qt_metacall(x1, x2, x3);
    }
    virtual void doStart() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1528, (void*)this, x)) return;
        this->Akonadi::ItemCreateJob::doStart();
    }
    virtual void doHandleResponse(const QByteArray& x1, const QByteArray& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1529, (void*)this, x)) return;
        this->Akonadi::ItemCreateJob::doHandleResponse(x1, x2);
    }
    virtual QString errorString() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1847, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::Job::errorString();
    }
    virtual bool addSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1852, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::addSubjob(x1);
    }
    virtual bool removeSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1853, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::removeSubjob(x1);
    }
    virtual bool doKill() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1854, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::doKill();
    }
    virtual void slotResult(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1856, (void*)this, x)) return;
        this->Akonadi::Job::slotResult(x1);
    }
    virtual void slotInfoMessage(KJob* x1, const QString& x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2494, (void*)this, x)) return;
        this->KCompositeJob::slotInfoMessage(x1, x2, x3);
    }
    virtual void start() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1846, (void*)this, x)) return;
        this->Akonadi::Job::start();
    }
    virtual bool doSuspend() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2508, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doSuspend();
    }
    virtual bool doResume() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2509, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doResume();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(2687, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2688, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2689, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2690, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2691, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2692, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 126: //Akonadi::ItemCreateJob::MergeOption
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::ItemCreateJob::MergeOption;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::ItemCreateJob::MergeOption*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::ItemCreateJob::MergeOption*)xdata = (Akonadi::ItemCreateJob::MergeOption)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::ItemCreateJob::MergeOption*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_Akonadi__ItemCreateJob() { this->_binding->deleted(75, (void*)this); }
};
void xenum_Akonadi__ItemCreateJob(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Akonadi__ItemCreateJob::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Akonadi__ItemCreateJob(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__ItemCreateJob *xself = (x_Akonadi__ItemCreateJob*)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__ItemCreateJob::x_3(args);	break;
        case 4: x_Akonadi__ItemCreateJob::x_4(args);	break;
        case 5: x_Akonadi__ItemCreateJob::x_5(args);	break;
        case 6: x_Akonadi__ItemCreateJob::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__ItemCreateJob::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__ItemCreateJob::x_13(args);	break;
        case 14: x_Akonadi__ItemCreateJob::x_14(args);	break;
        case 15: x_Akonadi__ItemCreateJob::x_15(args);	break;
        case 16: x_Akonadi__ItemCreateJob::x_16(args);	break;
        case 17: x_Akonadi__ItemCreateJob::x_17(args);	break;
        case 18: x_Akonadi__ItemCreateJob::x_18(args);	break;
        case 19: x_Akonadi__ItemCreateJob::x_19(args);	break;
        case 20: x_Akonadi__ItemCreateJob::x_20(args);	break;
        case 21: delete (Akonadi::ItemCreateJob*)xself;	break;
    }
}
class x_Akonadi__ItemDeleteJob : public Akonadi::ItemDeleteJob, 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::ItemDeleteJob*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__ItemDeleteJob*)this)->Akonadi::ItemDeleteJob::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__ItemDeleteJob*)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::ItemDeleteJob*>(this))) {
            void* xret = this->Akonadi::ItemDeleteJob::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::ItemDeleteJob::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::ItemDeleteJob::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::ItemDeleteJob::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::ItemDeleteJob::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::ItemDeleteJob*>(this))) {
            int xret = this->Akonadi::ItemDeleteJob::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::ItemDeleteJob* ItemDeleteJob(const Akonadi::Item&, QObject*)
        x_Akonadi__ItemDeleteJob* xret = new x_Akonadi__ItemDeleteJob(*(const Akonadi::Item*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ItemDeleteJob(const Akonadi::Item& x1, QObject* x2) : ItemDeleteJob(x1, x2) {}
    static void x_9(Smoke::Stack x) {
        // Akonadi::ItemDeleteJob* ItemDeleteJob(const QList<Akonadi::Item>&, QObject*)
        x_Akonadi__ItemDeleteJob* xret = new x_Akonadi__ItemDeleteJob(*(const QList<Akonadi::Item>*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ItemDeleteJob(const QList<Akonadi::Item>& x1, QObject* x2) : ItemDeleteJob(x1, x2) {}
    static void x_10(Smoke::Stack x) {
        // Akonadi::ItemDeleteJob* ItemDeleteJob(const Akonadi::Collection&, QObject*)
        x_Akonadi__ItemDeleteJob* xret = new x_Akonadi__ItemDeleteJob(*(const Akonadi::Collection*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ItemDeleteJob(const Akonadi::Collection& x1, QObject* x2) : ItemDeleteJob(x1, x2) {}
    static void x_11(Smoke::Stack x) {
        // Akonadi::ItemDeleteJob* ItemDeleteJob(const Akonadi::Tag&, QObject*)
        x_Akonadi__ItemDeleteJob* xret = new x_Akonadi__ItemDeleteJob(*(const Akonadi::Tag*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ItemDeleteJob(const Akonadi::Tag& x1, QObject* x2) : ItemDeleteJob(x1, x2) {}
    void x_12(Smoke::Stack x) {
        // QList<Akonadi::Item> deletedItems() const
        QList<Akonadi::Item> xret = ((const x_Akonadi__ItemDeleteJob*)this)->Akonadi::ItemDeleteJob::deletedItems();
        x[0].s_class = (void*)new QList<Akonadi::Item>(xret);
    }
    void x_13(Smoke::Stack x) {
        // virtual void doStart()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::ItemDeleteJob*>(this))) {
            this->Akonadi::ItemDeleteJob::doStart();
            (void)x; // noop (for compiler warning)
        } else {
            this->doStart();
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_14(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::ItemDeleteJob::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_15(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::ItemDeleteJob::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_16(Smoke::Stack x) {
        // Akonadi::ItemDeleteJob* ItemDeleteJob(const Akonadi::Item&)
        x_Akonadi__ItemDeleteJob* xret = new x_Akonadi__ItemDeleteJob(*(const Akonadi::Item*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_17(Smoke::Stack x) {
        // Akonadi::ItemDeleteJob* ItemDeleteJob(const QList<Akonadi::Item>&)
        x_Akonadi__ItemDeleteJob* xret = new x_Akonadi__ItemDeleteJob(*(const QList<Akonadi::Item>*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_18(Smoke::Stack x) {
        // Akonadi::ItemDeleteJob* ItemDeleteJob(const Akonadi::Collection&)
        x_Akonadi__ItemDeleteJob* xret = new x_Akonadi__ItemDeleteJob(*(const Akonadi::Collection*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_19(Smoke::Stack x) {
        // Akonadi::ItemDeleteJob* ItemDeleteJob(const Akonadi::Tag&)
        x_Akonadi__ItemDeleteJob* xret = new x_Akonadi__ItemDeleteJob(*(const Akonadi::Tag*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_20(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::ItemDeleteJob::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1539, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::ItemDeleteJob::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1540, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::ItemDeleteJob::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(1545, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::ItemDeleteJob::qt_metacall(x1, x2, x3);
    }
    virtual void doStart() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1551, (void*)this, x)) return;
        this->Akonadi::ItemDeleteJob::doStart();
    }
    virtual QString errorString() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1847, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::Job::errorString();
    }
    virtual void doHandleResponse(const QByteArray& x1, const QByteArray& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1851, (void*)this, x)) return;
        this->Akonadi::Job::doHandleResponse(x1, x2);
    }
    virtual bool addSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1852, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::addSubjob(x1);
    }
    virtual bool removeSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1853, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::removeSubjob(x1);
    }
    virtual bool doKill() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1854, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::doKill();
    }
    virtual void slotResult(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1856, (void*)this, x)) return;
        this->Akonadi::Job::slotResult(x1);
    }
    virtual void slotInfoMessage(KJob* x1, const QString& x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2494, (void*)this, x)) return;
        this->KCompositeJob::slotInfoMessage(x1, x2, x3);
    }
    virtual void start() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1846, (void*)this, x)) return;
        this->Akonadi::Job::start();
    }
    virtual bool doSuspend() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2508, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doSuspend();
    }
    virtual bool doResume() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2509, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doResume();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(2687, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2688, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2689, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2690, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2691, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2692, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_Akonadi__ItemDeleteJob() { this->_binding->deleted(76, (void*)this); }
};
void xcall_Akonadi__ItemDeleteJob(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__ItemDeleteJob *xself = (x_Akonadi__ItemDeleteJob*)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__ItemDeleteJob::x_3(args);	break;
        case 4: x_Akonadi__ItemDeleteJob::x_4(args);	break;
        case 5: x_Akonadi__ItemDeleteJob::x_5(args);	break;
        case 6: x_Akonadi__ItemDeleteJob::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__ItemDeleteJob::x_8(args);	break;
        case 9: x_Akonadi__ItemDeleteJob::x_9(args);	break;
        case 10: x_Akonadi__ItemDeleteJob::x_10(args);	break;
        case 11: x_Akonadi__ItemDeleteJob::x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: x_Akonadi__ItemDeleteJob::x_14(args);	break;
        case 15: x_Akonadi__ItemDeleteJob::x_15(args);	break;
        case 16: x_Akonadi__ItemDeleteJob::x_16(args);	break;
        case 17: x_Akonadi__ItemDeleteJob::x_17(args);	break;
        case 18: x_Akonadi__ItemDeleteJob::x_18(args);	break;
        case 19: x_Akonadi__ItemDeleteJob::x_19(args);	break;
        case 20: x_Akonadi__ItemDeleteJob::x_20(args);	break;
        case 21: delete (Akonadi::ItemDeleteJob*)xself;	break;
    }
}
class x_Akonadi__ItemFetchJob : public Akonadi::ItemFetchJob, 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::ItemFetchJob*>(this))) {
            const QMetaObject* xret = ((const x_Akonadi__ItemFetchJob*)this)->Akonadi::ItemFetchJob::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_Akonadi__ItemFetchJob*)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::ItemFetchJob*>(this))) {
            void* xret = this->Akonadi::ItemFetchJob::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::ItemFetchJob::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::ItemFetchJob::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::ItemFetchJob::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::ItemFetchJob::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::ItemFetchJob*>(this))) {
            int xret = this->Akonadi::ItemFetchJob::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::ItemFetchJob* ItemFetchJob(const Akonadi::Collection&, QObject*)
        x_Akonadi__ItemFetchJob* xret = new x_Akonadi__ItemFetchJob(*(const Akonadi::Collection*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ItemFetchJob(const Akonadi::Collection& x1, QObject* x2) : ItemFetchJob(x1, x2) {}
    static void x_9(Smoke::Stack x) {
        // Akonadi::ItemFetchJob* ItemFetchJob(const Akonadi::Item&, QObject*)
        x_Akonadi__ItemFetchJob* xret = new x_Akonadi__ItemFetchJob(*(const Akonadi::Item*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ItemFetchJob(const Akonadi::Item& x1, QObject* x2) : ItemFetchJob(x1, x2) {}
    static void x_10(Smoke::Stack x) {
        // Akonadi::ItemFetchJob* ItemFetchJob(const QList<Akonadi::Item>&, QObject*)
        x_Akonadi__ItemFetchJob* xret = new x_Akonadi__ItemFetchJob(*(const QList<Akonadi::Item>*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ItemFetchJob(const QList<Akonadi::Item>& x1, QObject* x2) : ItemFetchJob(x1, x2) {}
    static void x_11(Smoke::Stack x) {
        // Akonadi::ItemFetchJob* ItemFetchJob(const QList<Akonadi::Item::Id>&, QObject*)
        x_Akonadi__ItemFetchJob* xret = new x_Akonadi__ItemFetchJob(*(const QList<Akonadi::Item::Id>*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ItemFetchJob(const QList<Akonadi::Item::Id>& x1, QObject* x2) : ItemFetchJob(x1, x2) {}
    static void x_12(Smoke::Stack x) {
        // Akonadi::ItemFetchJob* ItemFetchJob(const Akonadi::Tag&, QObject*)
        x_Akonadi__ItemFetchJob* xret = new x_Akonadi__ItemFetchJob(*(const Akonadi::Tag*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ItemFetchJob(const Akonadi::Tag& x1, QObject* x2) : ItemFetchJob(x1, x2) {}
    void x_13(Smoke::Stack x) {
        // QList<Akonadi::Item> items() const
        QList<Akonadi::Item> xret = ((const x_Akonadi__ItemFetchJob*)this)->Akonadi::ItemFetchJob::items();
        x[0].s_class = (void*)new QList<Akonadi::Item>(xret);
    }
    void x_14(Smoke::Stack x) {
        // void clearItems()
        this->Akonadi::ItemFetchJob::clearItems();
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // void setFetchScope(Akonadi::ItemFetchScope&)
        this->Akonadi::ItemFetchJob::setFetchScope(*(Akonadi::ItemFetchScope*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // void setFetchScope(const Akonadi::ItemFetchScope&)
        this->Akonadi::ItemFetchJob::setFetchScope(*(const Akonadi::ItemFetchScope*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // Akonadi::ItemFetchScope& fetchScope()
        Akonadi::ItemFetchScope& xret = this->Akonadi::ItemFetchJob::fetchScope();
        x[0].s_class = (void*)&xret;
    }
    void x_18(Smoke::Stack x) {
        // void setCollection(const Akonadi::Collection&)
        this->Akonadi::ItemFetchJob::setCollection(*(const Akonadi::Collection*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // void setDeliveryOption(QFlags<Akonadi::ItemFetchJob::DeliveryOption>)
        this->Akonadi::ItemFetchJob::setDeliveryOption((QFlags<Akonadi::ItemFetchJob::DeliveryOption>)x[1].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // QFlags<Akonadi::ItemFetchJob::DeliveryOption> deliveryOptions() const
        QFlags<Akonadi::ItemFetchJob::DeliveryOption> xret = ((const x_Akonadi__ItemFetchJob*)this)->Akonadi::ItemFetchJob::deliveryOptions();
        x[0].s_uint = (uint)xret;
    }
    void x_21(Smoke::Stack x) {
        // int count() const
        int xret = ((const x_Akonadi__ItemFetchJob*)this)->Akonadi::ItemFetchJob::count();
        x[0].s_int = xret;
    }
    void x_22(Smoke::Stack x) {
        // void itemsReceived(const Akonadi::Item::List&)
        this->Akonadi::ItemFetchJob::itemsReceived(*(const Akonadi::Item::List*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // virtual void doStart()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::ItemFetchJob*>(this))) {
            this->Akonadi::ItemFetchJob::doStart();
            (void)x; // noop (for compiler warning)
        } else {
            this->doStart();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_24(Smoke::Stack x) {
        // virtual void doHandleResponse(const QByteArray&, const QByteArray&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<Akonadi::ItemFetchJob*>(this))) {
            this->Akonadi::ItemFetchJob::doHandleResponse(*(const QByteArray*)x[1].s_class,*(const QByteArray*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->doHandleResponse(*(const QByteArray*)x[1].s_class,*(const QByteArray*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    static void x_25(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = Akonadi::ItemFetchJob::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_26(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = Akonadi::ItemFetchJob::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_27(Smoke::Stack x) {
        // Akonadi::ItemFetchJob* ItemFetchJob(const Akonadi::Collection&)
        x_Akonadi__ItemFetchJob* xret = new x_Akonadi__ItemFetchJob(*(const Akonadi::Collection*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_28(Smoke::Stack x) {
        // Akonadi::ItemFetchJob* ItemFetchJob(const Akonadi::Item&)
        x_Akonadi__ItemFetchJob* xret = new x_Akonadi__ItemFetchJob(*(const Akonadi::Item*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_29(Smoke::Stack x) {
        // Akonadi::ItemFetchJob* ItemFetchJob(const QList<Akonadi::Item>&)
        x_Akonadi__ItemFetchJob* xret = new x_Akonadi__ItemFetchJob(*(const QList<Akonadi::Item>*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_30(Smoke::Stack x) {
        // Akonadi::ItemFetchJob* ItemFetchJob(const QList<Akonadi::Item::Id>&)
        x_Akonadi__ItemFetchJob* xret = new x_Akonadi__ItemFetchJob(*(const QList<Akonadi::Item::Id>*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_31(Smoke::Stack x) {
        // Akonadi::ItemFetchJob* ItemFetchJob(const Akonadi::Tag&)
        x_Akonadi__ItemFetchJob* xret = new x_Akonadi__ItemFetchJob(*(const Akonadi::Tag*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_32(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&Akonadi::ItemFetchJob::staticMetaObject;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ItemFetchJob::ItemGetter;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ItemFetchJob::EmitItemsIndividually;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ItemFetchJob::EmitItemsInBatches;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ItemFetchJob::Default;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1560, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->Akonadi::ItemFetchJob::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1561, (void*)this, x)) return (void*)x[0].s_class;
        return this->Akonadi::ItemFetchJob::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(1566, (void*)this, x)) return (int)x[0].s_int;
        return this->Akonadi::ItemFetchJob::qt_metacall(x1, x2, x3);
    }
    virtual void doStart() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1582, (void*)this, x)) return;
        this->Akonadi::ItemFetchJob::doStart();
    }
    virtual void doHandleResponse(const QByteArray& x1, const QByteArray& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1583, (void*)this, x)) return;
        this->Akonadi::ItemFetchJob::doHandleResponse(x1, x2);
    }
    virtual QString errorString() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1847, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->Akonadi::Job::errorString();
    }
    virtual bool addSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1852, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::addSubjob(x1);
    }
    virtual bool removeSubjob(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1853, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::removeSubjob(x1);
    }
    virtual bool doKill() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1854, (void*)this, x)) return (bool)x[0].s_bool;
        return this->Akonadi::Job::doKill();
    }
    virtual void slotResult(KJob* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1856, (void*)this, x)) return;
        this->Akonadi::Job::slotResult(x1);
    }
    virtual void slotInfoMessage(KJob* x1, const QString& x2, const QString& x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        if (this->_binding->callMethod(2494, (void*)this, x)) return;
        this->KCompositeJob::slotInfoMessage(x1, x2, x3);
    }
    virtual void start() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1846, (void*)this, x)) return;
        this->Akonadi::Job::start();
    }
    virtual bool doSuspend() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2508, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doSuspend();
    }
    virtual bool doResume() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(2509, (void*)this, x)) return (bool)x[0].s_bool;
        return this->KJob::doResume();
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2686, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(2687, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2688, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2689, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2690, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2691, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(2692, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 130: //Akonadi::ItemFetchJob::DeliveryOption
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::ItemFetchJob::DeliveryOption;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::ItemFetchJob::DeliveryOption*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::ItemFetchJob::DeliveryOption*)xdata = (Akonadi::ItemFetchJob::DeliveryOption)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::ItemFetchJob::DeliveryOption*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_Akonadi__ItemFetchJob() { this->_binding->deleted(77, (void*)this); }
};
void xenum_Akonadi__ItemFetchJob(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Akonadi__ItemFetchJob::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Akonadi__ItemFetchJob(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__ItemFetchJob *xself = (x_Akonadi__ItemFetchJob*)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__ItemFetchJob::x_3(args);	break;
        case 4: x_Akonadi__ItemFetchJob::x_4(args);	break;
        case 5: x_Akonadi__ItemFetchJob::x_5(args);	break;
        case 6: x_Akonadi__ItemFetchJob::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_Akonadi__ItemFetchJob::x_8(args);	break;
        case 9: x_Akonadi__ItemFetchJob::x_9(args);	break;
        case 10: x_Akonadi__ItemFetchJob::x_10(args);	break;
        case 11: x_Akonadi__ItemFetchJob::x_11(args);	break;
        case 12: x_Akonadi__ItemFetchJob::x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: x_Akonadi__ItemFetchJob::x_25(args);	break;
        case 26: x_Akonadi__ItemFetchJob::x_26(args);	break;
        case 27: x_Akonadi__ItemFetchJob::x_27(args);	break;
        case 28: x_Akonadi__ItemFetchJob::x_28(args);	break;
        case 29: x_Akonadi__ItemFetchJob::x_29(args);	break;
        case 30: x_Akonadi__ItemFetchJob::x_30(args);	break;
        case 31: x_Akonadi__ItemFetchJob::x_31(args);	break;
        case 32: x_Akonadi__ItemFetchJob::x_32(args);	break;
        case 33: x_Akonadi__ItemFetchJob::x_33(args);	break;
        case 34: x_Akonadi__ItemFetchJob::x_34(args);	break;
        case 35: x_Akonadi__ItemFetchJob::x_35(args);	break;
        case 36: x_Akonadi__ItemFetchJob::x_36(args);	break;
        case 37: delete (Akonadi::ItemFetchJob*)xself;	break;
    }
}
class x_Akonadi__ItemFetchScope : public Akonadi::ItemFetchScope {
    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::ItemFetchScope* ItemFetchScope()
        x_Akonadi__ItemFetchScope* xret = new x_Akonadi__ItemFetchScope();
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ItemFetchScope() : ItemFetchScope() {}
    static void x_2(Smoke::Stack x) {
        // Akonadi::ItemFetchScope* ItemFetchScope(const Akonadi::ItemFetchScope&)
        x_Akonadi__ItemFetchScope* xret = new x_Akonadi__ItemFetchScope(*(const Akonadi::ItemFetchScope*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_Akonadi__ItemFetchScope(const Akonadi::ItemFetchScope& x1) : ItemFetchScope(x1) {}
    void x_3(Smoke::Stack x) {
        // Akonadi::ItemFetchScope& operator=(const Akonadi::ItemFetchScope&)
        Akonadi::ItemFetchScope& xret = this->Akonadi::ItemFetchScope::operator=(*(const Akonadi::ItemFetchScope*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_4(Smoke::Stack x) {
        // QSet<QByteArray> payloadParts() const
        QSet<QByteArray> xret = ((const x_Akonadi__ItemFetchScope*)this)->Akonadi::ItemFetchScope::payloadParts();
        x[0].s_class = (void*)new QSet<QByteArray>(xret);
    }
    void x_5(Smoke::Stack x) {
        // void fetchPayloadPart(const QByteArray&, bool)
        this->Akonadi::ItemFetchScope::fetchPayloadPart(*(const QByteArray*)x[1].s_class,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_6(Smoke::Stack x) {
        // bool fullPayload() const
        bool xret = ((const x_Akonadi__ItemFetchScope*)this)->Akonadi::ItemFetchScope::fullPayload();
        x[0].s_bool = xret;
    }
    void x_7(Smoke::Stack x) {
        // void fetchFullPayload(bool)
        this->Akonadi::ItemFetchScope::fetchFullPayload((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // QSet<QByteArray> attributes() const
        QSet<QByteArray> xret = ((const x_Akonadi__ItemFetchScope*)this)->Akonadi::ItemFetchScope::attributes();
        x[0].s_class = (void*)new QSet<QByteArray>(xret);
    }
    void x_9(Smoke::Stack x) {
        // void fetchAttribute(const QByteArray&, bool)
        this->Akonadi::ItemFetchScope::fetchAttribute(*(const QByteArray*)x[1].s_class,(bool)x[2].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // bool allAttributes() const
        bool xret = ((const x_Akonadi__ItemFetchScope*)this)->Akonadi::ItemFetchScope::allAttributes();
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // void fetchAllAttributes(bool)
        this->Akonadi::ItemFetchScope::fetchAllAttributes((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // bool cacheOnly() const
        bool xret = ((const x_Akonadi__ItemFetchScope*)this)->Akonadi::ItemFetchScope::cacheOnly();
        x[0].s_bool = xret;
    }
    void x_13(Smoke::Stack x) {
        // void setCacheOnly(bool)
        this->Akonadi::ItemFetchScope::setCacheOnly((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // void setCheckForCachedPayloadPartsOnly(bool)
        this->Akonadi::ItemFetchScope::setCheckForCachedPayloadPartsOnly((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // bool checkForCachedPayloadPartsOnly() const
        bool xret = ((const x_Akonadi__ItemFetchScope*)this)->Akonadi::ItemFetchScope::checkForCachedPayloadPartsOnly();
        x[0].s_bool = xret;
    }
    void x_16(Smoke::Stack x) {
        // void setAncestorRetrieval(Akonadi::ItemFetchScope::AncestorRetrieval)
        this->Akonadi::ItemFetchScope::setAncestorRetrieval((Akonadi::ItemFetchScope::AncestorRetrieval)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // Akonadi::ItemFetchScope::AncestorRetrieval ancestorRetrieval() const
        Akonadi::ItemFetchScope::AncestorRetrieval xret = ((const x_Akonadi__ItemFetchScope*)this)->Akonadi::ItemFetchScope::ancestorRetrieval();
        x[0].s_enum = xret;
    }
    void x_18(Smoke::Stack x) {
        // void setFetchModificationTime(bool)
        this->Akonadi::ItemFetchScope::setFetchModificationTime((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // bool fetchModificationTime() const
        bool xret = ((const x_Akonadi__ItemFetchScope*)this)->Akonadi::ItemFetchScope::fetchModificationTime();
        x[0].s_bool = xret;
    }
    void x_20(Smoke::Stack x) {
        // void setFetchGid(bool)
        this->Akonadi::ItemFetchScope::setFetchGid((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // bool fetchGid() const
        bool xret = ((const x_Akonadi__ItemFetchScope*)this)->Akonadi::ItemFetchScope::fetchGid();
        x[0].s_bool = xret;
    }
    void x_22(Smoke::Stack x) {
        // void setIgnoreRetrievalErrors(bool)
        this->Akonadi::ItemFetchScope::setIgnoreRetrievalErrors((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // bool ignoreRetrievalErrors() const
        bool xret = ((const x_Akonadi__ItemFetchScope*)this)->Akonadi::ItemFetchScope::ignoreRetrievalErrors();
        x[0].s_bool = xret;
    }
    void x_24(Smoke::Stack x) {
        // bool isEmpty() const
        bool xret = ((const x_Akonadi__ItemFetchScope*)this)->Akonadi::ItemFetchScope::isEmpty();
        x[0].s_bool = xret;
    }
    void x_25(Smoke::Stack x) {
        // void setFetchChangedSince(const KDateTime&)
        this->Akonadi::ItemFetchScope::setFetchChangedSince(*(const KDateTime*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // KDateTime fetchChangedSince() const
        KDateTime xret = ((const x_Akonadi__ItemFetchScope*)this)->Akonadi::ItemFetchScope::fetchChangedSince();
        x[0].s_class = (void*)new KDateTime(xret);
    }
    void x_27(Smoke::Stack x) {
        // void setFetchRemoteIdentification(bool)
        this->Akonadi::ItemFetchScope::setFetchRemoteIdentification((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // bool fetchRemoteIdentification() const
        bool xret = ((const x_Akonadi__ItemFetchScope*)this)->Akonadi::ItemFetchScope::fetchRemoteIdentification();
        x[0].s_bool = xret;
    }
    void x_29(Smoke::Stack x) {
        // void setFetchTags(bool)
        this->Akonadi::ItemFetchScope::setFetchTags((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // bool fetchTags() const
        bool xret = ((const x_Akonadi__ItemFetchScope*)this)->Akonadi::ItemFetchScope::fetchTags();
        x[0].s_bool = xret;
    }
    void x_31(Smoke::Stack x) {
        // void setTagFetchScope(const Akonadi::TagFetchScope&)
        this->Akonadi::ItemFetchScope::setTagFetchScope(*(const Akonadi::TagFetchScope*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_32(Smoke::Stack x) {
        // Akonadi::TagFetchScope& tagFetchScope()
        Akonadi::TagFetchScope& xret = this->Akonadi::ItemFetchScope::tagFetchScope();
        x[0].s_class = (void*)&xret;
    }
    void x_33(Smoke::Stack x) {
        // Akonadi::TagFetchScope tagFetchScope() const
        Akonadi::TagFetchScope xret = ((const x_Akonadi__ItemFetchScope*)this)->Akonadi::ItemFetchScope::tagFetchScope();
        x[0].s_class = (void*)new Akonadi::TagFetchScope(xret);
    }
    void x_34(Smoke::Stack x) {
        // void setFetchVirtualReferences(bool)
        this->Akonadi::ItemFetchScope::setFetchVirtualReferences((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_35(Smoke::Stack x) {
        // bool fetchVirtualReferences() const
        bool xret = ((const x_Akonadi__ItemFetchScope*)this)->Akonadi::ItemFetchScope::fetchVirtualReferences();
        x[0].s_bool = xret;
    }
    void x_36(Smoke::Stack x) {
        // void fetchPayloadPart(const QByteArray&)
        this->Akonadi::ItemFetchScope::fetchPayloadPart(*(const QByteArray*)x[1].s_class,(bool)true);
        (void)x; // noop (for compiler warning)
    }
    void x_37(Smoke::Stack x) {
        // void fetchFullPayload()
        this->Akonadi::ItemFetchScope::fetchFullPayload((bool)true);
        (void)x; // noop (for compiler warning)
    }
    void x_38(Smoke::Stack x) {
        // void fetchAttribute(const QByteArray&)
        this->Akonadi::ItemFetchScope::fetchAttribute(*(const QByteArray*)x[1].s_class,(bool)true);
        (void)x; // noop (for compiler warning)
    }
    void x_39(Smoke::Stack x) {
        // void fetchAllAttributes()
        this->Akonadi::ItemFetchScope::fetchAllAttributes((bool)true);
        (void)x; // noop (for compiler warning)
    }
    void x_40(Smoke::Stack x) {
        // void setCheckForCachedPayloadPartsOnly()
        this->Akonadi::ItemFetchScope::setCheckForCachedPayloadPartsOnly((bool)true);
        (void)x; // noop (for compiler warning)
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ItemFetchScope::None;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ItemFetchScope::Parent;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)Akonadi::ItemFetchScope::All;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 133: //Akonadi::ItemFetchScope::AncestorRetrieval
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new Akonadi::ItemFetchScope::AncestorRetrieval;
                    break;
                case Smoke::EnumDelete:
                    delete (Akonadi::ItemFetchScope::AncestorRetrieval*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(Akonadi::ItemFetchScope::AncestorRetrieval*)xdata = (Akonadi::ItemFetchScope::AncestorRetrieval)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(Akonadi::ItemFetchScope::AncestorRetrieval*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_Akonadi__ItemFetchScope() { this->_binding->deleted(78, (void*)this); }
};
void xenum_Akonadi__ItemFetchScope(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_Akonadi__ItemFetchScope::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_Akonadi__ItemFetchScope(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_Akonadi__ItemFetchScope *xself = (x_Akonadi__ItemFetchScope*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_Akonadi__ItemFetchScope::x_1(args);	break;
        case 2: x_Akonadi__ItemFetchScope::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: x_Akonadi__ItemFetchScope::x_41(args);	break;
        case 42: x_Akonadi__ItemFetchScope::x_42(args);	break;
        case 43: x_Akonadi__ItemFetchScope::x_43(args);	break;
        case 44: delete (Akonadi::ItemFetchScope*)xself;	break;
    }
}

}
