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

#include <smoke.h>
#include <ktexteditor_smoke.h>

class __internal_SmokeClass {};

namespace __smokektexteditor {

class x_KTextEditor__Factory : public KTextEditor::Factory, 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<KTextEditor::Factory*>(this))) {
            const QMetaObject* xret = ((const x_KTextEditor__Factory*)this)->KTextEditor::Factory::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_KTextEditor__Factory*)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<KTextEditor::Factory*>(this))) {
            void* xret = this->KTextEditor::Factory::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 = KTextEditor::Factory::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 = KTextEditor::Factory::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 = KTextEditor::Factory::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 = KTextEditor::Factory::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<KTextEditor::Factory*>(this))) {
            int xret = this->KTextEditor::Factory::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) {
        // KTextEditor::Factory* Factory(QObject*)
        x_KTextEditor__Factory* xret = new x_KTextEditor__Factory((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__Factory(QObject* x1) : Factory(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual KTextEditor::Editor* editor() = 0
        KTextEditor::Editor* xret = this->editor();
        x[0].s_class = (void*)xret;
    }
    static void x_10(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = KTextEditor::Factory::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_11(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = KTextEditor::Factory::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_12(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&KTextEditor::Factory::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(459, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->KTextEditor::Factory::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(460, (void*)this, x)) return (void*)x[0].s_class;
        return this->KTextEditor::Factory::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(465, (void*)this, x)) return (int)x[0].s_int;
        return this->KTextEditor::Factory::qt_metacall(x1, x2, x3);
    }
    virtual KTextEditor::Editor* editor() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(467, (void*)this, x, true /*pure virtual*/);
        return (KTextEditor::Editor*)x[0].s_class;
    }
    virtual KComponentData partComponentData() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1, (void*)this, x)) {
            KComponentData* xptr = (KComponentData*)x[0].s_class;
            KComponentData xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KParts::Factory::partComponentData();
    }
    virtual KParts::Part* createPartObject(QWidget* x1, QObject* x2, const char* x3, const QStringList& x4) {
        Smoke::StackItem x[5];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)x3;
        x[4].s_class = (void*)&x4;
        this->_binding->callMethod(2, (void*)this, x, true /*pure virtual*/);
        return (KParts::Part*)x[0].s_class;
    }
    virtual QObject* createObject(QObject* x1, const char* x2, const QStringList& 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(3, (void*)this, x)) return (QObject*)x[0].s_class;
        return this->KParts::Factory::createObject(x1, x2, x3);
    }
    virtual void setupTranslations() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(27, (void*)this, x)) return;
        this->KPluginFactory::setupTranslations();
    }
    virtual QObject* create(const char* x1, QWidget* x2, QObject* x3, const QList<QVariant>& x4, const QString& x5) {
        Smoke::StackItem x[6];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        x[3].s_class = (void*)x3;
        x[4].s_class = (void*)&x4;
        x[5].s_class = (void*)&x5;
        if (this->_binding->callMethod(28, (void*)this, x)) return (QObject*)x[0].s_class;
        return this->KPluginFactory::create(x1, x2, x3, x4, x5);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1082, (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(1083, (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(1084, (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(1085, (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(1086, (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(1087, (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(1088, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_KTextEditor__Factory() { this->_binding->deleted(41, (void*)this); }
};
void xcall_KTextEditor__Factory(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__Factory *xself = (x_KTextEditor__Factory*)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_KTextEditor__Factory::x_3(args);	break;
        case 4: x_KTextEditor__Factory::x_4(args);	break;
        case 5: x_KTextEditor__Factory::x_5(args);	break;
        case 6: x_KTextEditor__Factory::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_KTextEditor__Factory::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: x_KTextEditor__Factory::x_10(args);	break;
        case 11: x_KTextEditor__Factory::x_11(args);	break;
        case 12: x_KTextEditor__Factory::x_12(args);	break;
        case 13: delete (KTextEditor::Factory*)xself;	break;
    }
}
class x_KTextEditor__HighlightInterface : public KTextEditor::HighlightInterface, 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) {
        // KTextEditor::HighlightInterface* HighlightInterface()
        x_KTextEditor__HighlightInterface* xret = new x_KTextEditor__HighlightInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__HighlightInterface() : HighlightInterface() {}
    void x_2(Smoke::Stack x) {
        // virtual KSharedPtr<KTextEditor::Attribute> defaultStyle(const KTextEditor::HighlightInterface::DefaultStyle) const = 0
        KSharedPtr<KTextEditor::Attribute> xret = ((const x_KTextEditor__HighlightInterface*)this)->defaultStyle((const KTextEditor::HighlightInterface::DefaultStyle)x[1].s_enum);
        x[0].s_class = (void*)new KSharedPtr<KTextEditor::Attribute>(xret);
    }
    void x_3(Smoke::Stack x) {
        // virtual QList<KTextEditor::HighlightInterface::AttributeBlock> lineAttributes(const unsigned int) = 0
        QList<KTextEditor::HighlightInterface::AttributeBlock> xret = this->lineAttributes((const unsigned int)x[1].s_uint);
        x[0].s_class = (void*)new QList<KTextEditor::HighlightInterface::AttributeBlock>(xret);
    }
    void x_4(Smoke::Stack x) {
        // virtual QStringList embeddedHighlightingModes() const = 0
        QStringList xret = ((const x_KTextEditor__HighlightInterface*)this)->embeddedHighlightingModes();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_5(Smoke::Stack x) {
        // virtual QString highlightingModeAt(const KTextEditor::Cursor&) = 0
        QString xret = this->highlightingModeAt(*(const KTextEditor::Cursor*)x[1].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_6(Smoke::Stack x) {
        // KTextEditor::HighlightInterface* HighlightInterface(const KTextEditor::HighlightInterface&)
        x_KTextEditor__HighlightInterface* xret = new x_KTextEditor__HighlightInterface(*(const KTextEditor::HighlightInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__HighlightInterface(const KTextEditor::HighlightInterface& x1) : HighlightInterface(x1) {}
    static void x_7(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::HighlightInterface::dsNormal;
    }
    static void x_8(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::HighlightInterface::dsKeyword;
    }
    static void x_9(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::HighlightInterface::dsDataType;
    }
    static void x_10(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::HighlightInterface::dsDecVal;
    }
    static void x_11(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::HighlightInterface::dsBaseN;
    }
    static void x_12(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::HighlightInterface::dsFloat;
    }
    static void x_13(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::HighlightInterface::dsChar;
    }
    static void x_14(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::HighlightInterface::dsString;
    }
    static void x_15(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::HighlightInterface::dsComment;
    }
    static void x_16(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::HighlightInterface::dsOthers;
    }
    static void x_17(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::HighlightInterface::dsAlert;
    }
    static void x_18(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::HighlightInterface::dsFunction;
    }
    static void x_19(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::HighlightInterface::dsRegionMarker;
    }
    static void x_20(Smoke::Stack x) {
        x[0].s_enum = (long)KTextEditor::HighlightInterface::dsError;
    }
    virtual KSharedPtr<KTextEditor::Attribute> defaultStyle(const KTextEditor::HighlightInterface::DefaultStyle x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        this->_binding->callMethod(473, (void*)this, x, true /*pure virtual*/);
        KSharedPtr<KTextEditor::Attribute>* xptr = (KSharedPtr<KTextEditor::Attribute>*)x[0].s_class;
        KSharedPtr<KTextEditor::Attribute> xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QList<KTextEditor::HighlightInterface::AttributeBlock> lineAttributes(const unsigned int x1) {
        Smoke::StackItem x[2];
        x[1].s_uint = x1;
        this->_binding->callMethod(474, (void*)this, x, true /*pure virtual*/);
        QList<KTextEditor::HighlightInterface::AttributeBlock>* xptr = (QList<KTextEditor::HighlightInterface::AttributeBlock>*)x[0].s_class;
        QList<KTextEditor::HighlightInterface::AttributeBlock> xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QStringList embeddedHighlightingModes() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(475, (void*)this, x, true /*pure virtual*/);
        QStringList* xptr = (QStringList*)x[0].s_class;
        QStringList xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual QString highlightingModeAt(const KTextEditor::Cursor& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        this->_binding->callMethod(476, (void*)this, x, true /*pure virtual*/);
        QString* xptr = (QString*)x[0].s_class;
        QString xret(*xptr);
        delete xptr;
        return xret;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 61: //KTextEditor::HighlightInterface::DefaultStyle
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KTextEditor::HighlightInterface::DefaultStyle;
                    break;
                case Smoke::EnumDelete:
                    delete (KTextEditor::HighlightInterface::DefaultStyle*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KTextEditor::HighlightInterface::DefaultStyle*)xdata = (KTextEditor::HighlightInterface::DefaultStyle)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KTextEditor::HighlightInterface::DefaultStyle*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_KTextEditor__HighlightInterface() { this->_binding->deleted(42, (void*)this); }
};
void xenum_KTextEditor__HighlightInterface(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_KTextEditor__HighlightInterface::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_KTextEditor__HighlightInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__HighlightInterface *xself = (x_KTextEditor__HighlightInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KTextEditor__HighlightInterface::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: x_KTextEditor__HighlightInterface::x_6(args);	break;
        case 7: x_KTextEditor__HighlightInterface::x_7(args);	break;
        case 8: x_KTextEditor__HighlightInterface::x_8(args);	break;
        case 9: x_KTextEditor__HighlightInterface::x_9(args);	break;
        case 10: x_KTextEditor__HighlightInterface::x_10(args);	break;
        case 11: x_KTextEditor__HighlightInterface::x_11(args);	break;
        case 12: x_KTextEditor__HighlightInterface::x_12(args);	break;
        case 13: x_KTextEditor__HighlightInterface::x_13(args);	break;
        case 14: x_KTextEditor__HighlightInterface::x_14(args);	break;
        case 15: x_KTextEditor__HighlightInterface::x_15(args);	break;
        case 16: x_KTextEditor__HighlightInterface::x_16(args);	break;
        case 17: x_KTextEditor__HighlightInterface::x_17(args);	break;
        case 18: x_KTextEditor__HighlightInterface::x_18(args);	break;
        case 19: x_KTextEditor__HighlightInterface::x_19(args);	break;
        case 20: x_KTextEditor__HighlightInterface::x_20(args);	break;
        case 21: delete (KTextEditor::HighlightInterface*)xself;	break;
    }
}
class x_KTextEditor__HighlightInterface__AttributeBlock : public KTextEditor::HighlightInterface::AttributeBlock {
    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) {
        // KTextEditor::HighlightInterface::AttributeBlock* AttributeBlock(const int, const int, const KSharedPtr<KTextEditor::Attribute>&)
        x_KTextEditor__HighlightInterface__AttributeBlock* xret = new x_KTextEditor__HighlightInterface__AttributeBlock((const int)x[1].s_int,(const int)x[2].s_int,*(const KSharedPtr<KTextEditor::Attribute>*)x[3].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__HighlightInterface__AttributeBlock(const int x1, const int x2, const KSharedPtr<KTextEditor::Attribute>& x3) : AttributeBlock(x1, x2, x3) {}
    static void x_2(Smoke::Stack x) {
        // KTextEditor::HighlightInterface::AttributeBlock* AttributeBlock(const KTextEditor::HighlightInterface::AttributeBlock&)
        x_KTextEditor__HighlightInterface__AttributeBlock* xret = new x_KTextEditor__HighlightInterface__AttributeBlock(*(const KTextEditor::HighlightInterface::AttributeBlock*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__HighlightInterface__AttributeBlock(const KTextEditor::HighlightInterface::AttributeBlock& x1) : AttributeBlock(x1) {}
    void x_3(Smoke::Stack x) {
        // int start
        x[0].s_int = this->KTextEditor::HighlightInterface::AttributeBlock::start;
    }
    void x_4(Smoke::Stack x) {
        // int start=
        this->KTextEditor::HighlightInterface::AttributeBlock::start = (int)x[1].s_int;
    }
    void x_5(Smoke::Stack x) {
        // int length
        x[0].s_int = this->KTextEditor::HighlightInterface::AttributeBlock::length;
    }
    void x_6(Smoke::Stack x) {
        // int length=
        this->KTextEditor::HighlightInterface::AttributeBlock::length = (int)x[1].s_int;
    }
    void x_7(Smoke::Stack x) {
        // KSharedPtr<KTextEditor::Attribute> attribute
        x[0].s_class = (void*)&this->KTextEditor::HighlightInterface::AttributeBlock::attribute;
    }
    void x_8(Smoke::Stack x) {
        // KSharedPtr<KTextEditor::Attribute> attribute=
        this->KTextEditor::HighlightInterface::AttributeBlock::attribute = *(const KSharedPtr<KTextEditor::Attribute>*)x[1].s_class;
    }
    ~x_KTextEditor__HighlightInterface__AttributeBlock() { this->_binding->deleted(43, (void*)this); }
};
void xcall_KTextEditor__HighlightInterface__AttributeBlock(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__HighlightInterface__AttributeBlock *xself = (x_KTextEditor__HighlightInterface__AttributeBlock*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KTextEditor__HighlightInterface__AttributeBlock::x_1(args);	break;
        case 2: x_KTextEditor__HighlightInterface__AttributeBlock::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: delete (KTextEditor::HighlightInterface::AttributeBlock*)xself;	break;
    }
}
class x_KTextEditor__LoadSaveFilterCheckPlugin : public KTextEditor::LoadSaveFilterCheckPlugin, 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<KTextEditor::LoadSaveFilterCheckPlugin*>(this))) {
            const QMetaObject* xret = ((const x_KTextEditor__LoadSaveFilterCheckPlugin*)this)->KTextEditor::LoadSaveFilterCheckPlugin::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_KTextEditor__LoadSaveFilterCheckPlugin*)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<KTextEditor::LoadSaveFilterCheckPlugin*>(this))) {
            void* xret = this->KTextEditor::LoadSaveFilterCheckPlugin::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 = KTextEditor::LoadSaveFilterCheckPlugin::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 = KTextEditor::LoadSaveFilterCheckPlugin::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 = KTextEditor::LoadSaveFilterCheckPlugin::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 = KTextEditor::LoadSaveFilterCheckPlugin::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<KTextEditor::LoadSaveFilterCheckPlugin*>(this))) {
            int xret = this->KTextEditor::LoadSaveFilterCheckPlugin::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) {
        // KTextEditor::LoadSaveFilterCheckPlugin* LoadSaveFilterCheckPlugin(QObject*)
        x_KTextEditor__LoadSaveFilterCheckPlugin* xret = new x_KTextEditor__LoadSaveFilterCheckPlugin((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KTextEditor__LoadSaveFilterCheckPlugin(QObject* x1) : LoadSaveFilterCheckPlugin(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual bool preSavePostDialogFilterCheck(KTextEditor::Document*) = 0
        bool xret = this->preSavePostDialogFilterCheck((KTextEditor::Document*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // virtual bool postSaveFilterCheck(KTextEditor::Document*, bool) = 0
        bool xret = this->postSaveFilterCheck((KTextEditor::Document*)x[1].s_class,(bool)x[2].s_bool);
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // virtual void postLoadFilter(KTextEditor::Document*) = 0
        this->postLoadFilter((KTextEditor::Document*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_12(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = KTextEditor::LoadSaveFilterCheckPlugin::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_13(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = KTextEditor::LoadSaveFilterCheckPlugin::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&KTextEditor::LoadSaveFilterCheckPlugin::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(502, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->KTextEditor::LoadSaveFilterCheckPlugin::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(503, (void*)this, x)) return (void*)x[0].s_class;
        return this->KTextEditor::LoadSaveFilterCheckPlugin::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(508, (void*)this, x)) return (int)x[0].s_int;
        return this->KTextEditor::LoadSaveFilterCheckPlugin::qt_metacall(x1, x2, x3);
    }
    virtual bool preSavePostDialogFilterCheck(KTextEditor::Document* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(510, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual bool postSaveFilterCheck(KTextEditor::Document* x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_bool = x2;
        this->_binding->callMethod(511, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual void postLoadFilter(KTextEditor::Document* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        this->_binding->callMethod(512, (void*)this, x, true /*pure virtual*/);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1082, (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(1083, (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(1084, (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(1085, (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(1086, (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(1087, (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(1088, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_KTextEditor__LoadSaveFilterCheckPlugin() { this->_binding->deleted(44, (void*)this); }
};
void xcall_KTextEditor__LoadSaveFilterCheckPlugin(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KTextEditor__LoadSaveFilterCheckPlugin *xself = (x_KTextEditor__LoadSaveFilterCheckPlugin*)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_KTextEditor__LoadSaveFilterCheckPlugin::x_3(args);	break;
        case 4: x_KTextEditor__LoadSaveFilterCheckPlugin::x_4(args);	break;
        case 5: x_KTextEditor__LoadSaveFilterCheckPlugin::x_5(args);	break;
        case 6: x_KTextEditor__LoadSaveFilterCheckPlugin::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_KTextEditor__LoadSaveFilterCheckPlugin::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: x_KTextEditor__LoadSaveFilterCheckPlugin::x_12(args);	break;
        case 13: x_KTextEditor__LoadSaveFilterCheckPlugin::x_13(args);	break;
        case 14: x_KTextEditor__LoadSaveFilterCheckPlugin::x_14(args);	break;
        case 15: delete (KTextEditor::LoadSaveFilterCheckPlugin*)xself;	break;
    }
}

}
