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

#include <smoke.h>
#include <kparts_smoke.h>

class __internal_SmokeClass {};

namespace __smokekparts {

class x_KParts__PartBase : public KParts::PartBase, 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) {
        // KParts::PartBase* PartBase()
        x_KParts__PartBase* xret = new x_KParts__PartBase();
        x[0].s_class = (void*)xret;
    }
    explicit x_KParts__PartBase() : PartBase() {}
    void x_2(Smoke::Stack x) {
        // void setPartObject(QObject*)
        this->KParts::PartBase::setPartObject((QObject*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_3(Smoke::Stack x) {
        // QObject* partObject() const
        QObject* xret = ((const x_KParts__PartBase*)this)->KParts::PartBase::partObject();
        x[0].s_class = (void*)xret;
    }
    void x_4(Smoke::Stack x) {
        // virtual void setComponentData(const KComponentData&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KParts::PartBase*>(this))) {
            this->KParts::PartBase::setComponentData(*(const KComponentData*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setComponentData(*(const KComponentData*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_5(Smoke::Stack x) {
        // virtual void setComponentData(const KComponentData&, bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<KParts::PartBase*>(this))) {
            this->KParts::PartBase::setComponentData(*(const KComponentData*)x[1].s_class,(bool)x[2].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setComponentData(*(const KComponentData*)x[1].s_class,(bool)x[2].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_6(Smoke::Stack x) {
        // void loadPlugins(QObject*, KXMLGUIClient*, const KComponentData&)
        this->KParts::PartBase::loadPlugins((QObject*)x[1].s_class,(KXMLGUIClient*)x[2].s_class,*(const KComponentData*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_7(Smoke::Stack x) {
        // void setPluginLoadingMode(KParts::PartBase::PluginLoadingMode)
        this->KParts::PartBase::setPluginLoadingMode((KParts::PartBase::PluginLoadingMode)x[1].s_enum);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // void setPluginInterfaceVersion(int)
        this->KParts::PartBase::setPluginInterfaceVersion((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    static void x_9(Smoke::Stack x) {
        // KParts::PartBase* PartBase(KParts::PartBasePrivate&)
        x_KParts__PartBase* xret = new x_KParts__PartBase(*(KParts::PartBasePrivate*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_KParts__PartBase(KParts::PartBasePrivate& x1) : PartBase(x1) {}
    static void x_10(Smoke::Stack x) {
        x[0].s_enum = (long)KParts::PartBase::DoNotLoadPlugins;
    }
    static void x_11(Smoke::Stack x) {
        x[0].s_enum = (long)KParts::PartBase::LoadPlugins;
    }
    static void x_12(Smoke::Stack x) {
        x[0].s_enum = (long)KParts::PartBase::LoadPluginsIfEnabled;
    }
    virtual void setComponentData(const KComponentData& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(374, (void*)this, x)) return;
        this->KParts::PartBase::setComponentData(x1);
    }
    virtual void setComponentData(const KComponentData& x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(375, (void*)this, x)) return;
        this->KParts::PartBase::setComponentData(x1, x2);
    }
    virtual QAction* action(const QDomElement& x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(604, (void*)this, x)) return (QAction*)x[0].s_class;
        return this->KXMLGUIClient::action(x1);
    }
    virtual KActionCollection* actionCollection() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(605, (void*)this, x)) return (KActionCollection*)x[0].s_class;
        return this->KXMLGUIClient::actionCollection();
    }
    virtual KComponentData componentData() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(606, (void*)this, x)) {
            KComponentData* xptr = (KComponentData*)x[0].s_class;
            KComponentData xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KXMLGUIClient::componentData();
    }
    virtual QDomDocument domDocument() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(607, (void*)this, x)) {
            QDomDocument* xptr = (QDomDocument*)x[0].s_class;
            QDomDocument xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KXMLGUIClient::domDocument();
    }
    virtual QString xmlFile() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(608, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KXMLGUIClient::xmlFile();
    }
    virtual QString localXMLFile() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(609, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->KXMLGUIClient::localXMLFile();
    }
    virtual void setXMLFile(const QString& x1, bool x2, bool x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        x[3].s_bool = x3;
        if (this->_binding->callMethod(610, (void*)this, x)) return;
        this->KXMLGUIClient::setXMLFile(x1, x2, x3);
    }
    virtual void setLocalXMLFile(const QString& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(611, (void*)this, x)) return;
        this->KXMLGUIClient::setLocalXMLFile(x1);
    }
    virtual void setXML(const QString& x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(612, (void*)this, x)) return;
        this->KXMLGUIClient::setXML(x1, x2);
    }
    virtual void setDOMDocument(const QDomDocument& x1, bool x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_bool = x2;
        if (this->_binding->callMethod(613, (void*)this, x)) return;
        this->KXMLGUIClient::setDOMDocument(x1, x2);
    }
    virtual void stateChanged(const QString& x1, KXMLGUIClient::ReverseStateChange x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_enum = x2;
        if (this->_binding->callMethod(614, (void*)this, x)) return;
        this->KXMLGUIClient::stateChanged(x1, x2);
    }
    virtual void virtual_hook(int x1, void* x2) {
        Smoke::StackItem x[3];
        x[1].s_int = x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(615, (void*)this, x)) return;
        this->KXMLGUIClient::virtual_hook(x1, x2);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 47: //KParts::PartBase::PluginLoadingMode
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new KParts::PartBase::PluginLoadingMode;
                    break;
                case Smoke::EnumDelete:
                    delete (KParts::PartBase::PluginLoadingMode*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(KParts::PartBase::PluginLoadingMode*)xdata = (KParts::PartBase::PluginLoadingMode)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(KParts::PartBase::PluginLoadingMode*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_KParts__PartBase() { this->_binding->deleted(27, (void*)this); }
};
void xenum_KParts__PartBase(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_KParts__PartBase::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_KParts__PartBase(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_KParts__PartBase *xself = (x_KParts__PartBase*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_KParts__PartBase::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: x_KParts__PartBase::x_9(args);	break;
        case 10: x_KParts__PartBase::x_10(args);	break;
        case 11: x_KParts__PartBase::x_11(args);	break;
        case 12: x_KParts__PartBase::x_12(args);	break;
        case 13: delete (KParts::PartBase*)xself;	break;
    }
}

}
