/*
 * Interface wrapper code.
 *
 * Generated by SIP 4.19.6
 */

#include "sipAPIKConfigCore.h"

#include <kconfig.h>

#include <qstring.h>
#include <kconfig.h>
#include <qstandardpaths.h>
#include <qbytearray.h>
#include <kconfigbase.h>
#include <kconfiggroup.h>
#include <qmap.h>
#include <qstringlist.h>
#include <kconfigbase.h>


class sipKConfig : public  ::KConfig
{
public:
    sipKConfig(const  ::QString&, ::KConfig::OpenFlags, ::QStandardPaths::StandardLocation);
    sipKConfig(const  ::QString&,const  ::QString&, ::QStandardPaths::StandardLocation);
    virtual ~sipKConfig();

    /*
     * There is a public method for every protected method visible from
     * this class.
     */
    bool sipProtectVirt_hasGroupImpl(bool,const  ::QByteArray&) const;
     ::KConfigGroup sipProtectVirt_groupImpl(bool,const  ::QByteArray&);
    void sipProtectVirt_deleteGroupImpl(bool,const  ::QByteArray&, ::KConfigBase::WriteConfigFlags);
    bool sipProtectVirt_isGroupImmutableImpl(bool,const  ::QByteArray&) const;
    void sipProtectVirt_virtual_hook(bool,int,void*);

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
     ::QStringList groupList() const;
    bool sync();
    void markAsClean();
     ::KConfigBase::AccessMode accessMode() const;
    bool isImmutable() const;
    bool hasGroupImpl(const  ::QByteArray&) const;
     ::KConfigGroup groupImpl(const  ::QByteArray&);
    void deleteGroupImpl(const  ::QByteArray&, ::KConfigBase::WriteConfigFlags);
    bool isGroupImmutableImpl(const  ::QByteArray&) const;
    void virtual_hook(int,void*);

public:
    sipSimpleWrapper *sipPySelf;

private:
    sipKConfig(const sipKConfig &);
    sipKConfig &operator = (const sipKConfig &);

    char sipPyMethods[10];
};

sipKConfig::sipKConfig(const  ::QString& a0, ::KConfig::OpenFlags a1, ::QStandardPaths::StandardLocation a2):  ::KConfig(a0,a1,a2), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipKConfig::sipKConfig(const  ::QString& a0,const  ::QString& a1, ::QStandardPaths::StandardLocation a2):  ::KConfig(a0,a1,a2), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipKConfig::~sipKConfig()
{
    sipInstanceDestroyed(sipPySelf);
}

 ::QStringList sipKConfig::groupList() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[0]),sipPySelf,NULL,sipName_groupList);

    if (!sipMeth)
        return  ::KConfig::groupList();

    extern  ::QStringList sipVH_KConfigCore_0(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH_KConfigCore_0(sipGILState, sipImportedVirtErrorHandlers_KConfigCore_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

bool sipKConfig::sync()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[1],sipPySelf,NULL,sipName_sync);

    if (!sipMeth)
        return  ::KConfig::sync();

    extern bool sipVH_KConfigCore_1(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH_KConfigCore_1(sipGILState, sipImportedVirtErrorHandlers_KConfigCore_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

void sipKConfig::markAsClean()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[2],sipPySelf,NULL,sipName_markAsClean);

    if (!sipMeth)
    {
         ::KConfig::markAsClean();
        return;
    }

    extern void sipVH_KConfigCore_2(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    sipVH_KConfigCore_2(sipGILState, sipImportedVirtErrorHandlers_KConfigCore_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

 ::KConfigBase::AccessMode sipKConfig::accessMode() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[3]),sipPySelf,NULL,sipName_accessMode);

    if (!sipMeth)
        return  ::KConfig::accessMode();

    extern  ::KConfigBase::AccessMode sipVH_KConfigCore_3(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH_KConfigCore_3(sipGILState, sipImportedVirtErrorHandlers_KConfigCore_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

bool sipKConfig::isImmutable() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[4]),sipPySelf,NULL,sipName_isImmutable);

    if (!sipMeth)
        return  ::KConfig::isImmutable();

    extern bool sipVH_KConfigCore_1(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH_KConfigCore_1(sipGILState, sipImportedVirtErrorHandlers_KConfigCore_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

bool sipKConfig::hasGroupImpl(const  ::QByteArray& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[5]),sipPySelf,NULL,sipName_hasGroupImpl);

    if (!sipMeth)
        return  ::KConfig::hasGroupImpl(a0);

    extern bool sipVH_KConfigCore_4(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QByteArray&);

    return sipVH_KConfigCore_4(sipGILState, sipImportedVirtErrorHandlers_KConfigCore_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

 ::KConfigGroup sipKConfig::groupImpl(const  ::QByteArray& a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[6],sipPySelf,NULL,sipName_groupImpl);

    if (!sipMeth)
        return  ::KConfig::groupImpl(a0);

    extern  ::KConfigGroup sipVH_KConfigCore_5(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QByteArray&);

    return sipVH_KConfigCore_5(sipGILState, sipImportedVirtErrorHandlers_KConfigCore_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipKConfig::deleteGroupImpl(const  ::QByteArray& a0, ::KConfigBase::WriteConfigFlags a1)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[7],sipPySelf,NULL,sipName_deleteGroupImpl);

    if (!sipMeth)
    {
         ::KConfig::deleteGroupImpl(a0,a1);
        return;
    }

    extern void sipVH_KConfigCore_6(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QByteArray&, ::KConfigBase::WriteConfigFlags);

    sipVH_KConfigCore_6(sipGILState, sipImportedVirtErrorHandlers_KConfigCore_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1);
}

bool sipKConfig::isGroupImmutableImpl(const  ::QByteArray& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[8]),sipPySelf,NULL,sipName_isGroupImmutableImpl);

    if (!sipMeth)
        return  ::KConfig::isGroupImmutableImpl(a0);

    extern bool sipVH_KConfigCore_4(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QByteArray&);

    return sipVH_KConfigCore_4(sipGILState, sipImportedVirtErrorHandlers_KConfigCore_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipKConfig::virtual_hook(int a0,void*a1)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[9],sipPySelf,NULL,sipName_virtual_hook);

    if (!sipMeth)
    {
         ::KConfig::virtual_hook(a0,a1);
        return;
    }

    extern void sipVH_KConfigCore_7(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int,void*);

    sipVH_KConfigCore_7(sipGILState, sipImportedVirtErrorHandlers_KConfigCore_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1);
}

bool sipKConfig::sipProtectVirt_hasGroupImpl(bool sipSelfWasArg,const  ::QByteArray& a0) const
{
    return (sipSelfWasArg ?  ::KConfig::hasGroupImpl(a0) : hasGroupImpl(a0));
}

 ::KConfigGroup sipKConfig::sipProtectVirt_groupImpl(bool sipSelfWasArg,const  ::QByteArray& a0)
{
    return (sipSelfWasArg ?  ::KConfig::groupImpl(a0) : groupImpl(a0));
}

void sipKConfig::sipProtectVirt_deleteGroupImpl(bool sipSelfWasArg,const  ::QByteArray& a0, ::KConfigBase::WriteConfigFlags a1)
{
    (sipSelfWasArg ?  ::KConfig::deleteGroupImpl(a0,a1) : deleteGroupImpl(a0,a1));
}

bool sipKConfig::sipProtectVirt_isGroupImmutableImpl(bool sipSelfWasArg,const  ::QByteArray& a0) const
{
    return (sipSelfWasArg ?  ::KConfig::isGroupImmutableImpl(a0) : isGroupImmutableImpl(a0));
}

void sipKConfig::sipProtectVirt_virtual_hook(bool sipSelfWasArg,int a0,void*a1)
{
    (sipSelfWasArg ?  ::KConfig::virtual_hook(a0,a1) : virtual_hook(a0,a1));
}


extern "C" {static PyObject *meth_KConfig_locationType(PyObject *, PyObject *);}
static PyObject *meth_KConfig_locationType(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KConfig, &sipCpp))
        {
             ::QStandardPaths::StandardLocation sipRes;

            sipRes = sipCpp->locationType();

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_QStandardPaths_StandardLocation);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_locationType, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_name(PyObject *, PyObject *);}
static PyObject *meth_KConfig_name(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KConfig, &sipCpp))
        {
             ::QString*sipRes;

            sipRes = new  ::QString(sipCpp->name());

            return sipConvertFromNewType(sipRes,sipType_QString,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_name, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_openFlags(PyObject *, PyObject *);}
static PyObject *meth_KConfig_openFlags(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KConfig, &sipCpp))
        {
             ::KConfig::OpenFlags*sipRes;

            sipRes = new  ::KConfig::OpenFlags(sipCpp->openFlags());

            return sipConvertFromNewType(sipRes,sipType_KConfig_OpenFlags,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_openFlags, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_sync(PyObject *, PyObject *);}
static PyObject *meth_KConfig_sync(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KConfig, &sipCpp))
        {
            bool sipRes;

            sipRes = (sipSelfWasArg ? sipCpp-> ::KConfig::sync() : sipCpp->sync());

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_sync, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_isDirty(PyObject *, PyObject *);}
static PyObject *meth_KConfig_isDirty(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KConfig, &sipCpp))
        {
            bool sipRes;

            sipRes = sipCpp->isDirty();

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_isDirty, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_markAsClean(PyObject *, PyObject *);}
static PyObject *meth_KConfig_markAsClean(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
         ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KConfig, &sipCpp))
        {
            (sipSelfWasArg ? sipCpp-> ::KConfig::markAsClean() : sipCpp->markAsClean());

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_markAsClean, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_accessMode(PyObject *, PyObject *);}
static PyObject *meth_KConfig_accessMode(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KConfig, &sipCpp))
        {
             ::KConfigBase::AccessMode sipRes;

            sipRes = (sipSelfWasArg ? sipCpp-> ::KConfig::accessMode() : sipCpp->accessMode());

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_KConfigBase_AccessMode);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_accessMode, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_isConfigWritable(PyObject *, PyObject *);}
static PyObject *meth_KConfig_isConfigWritable(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        bool a0;
         ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bb", &sipSelf, sipType_KConfig, &sipCpp, &a0))
        {
            bool sipRes;

            sipRes = sipCpp->isConfigWritable(a0);

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_isConfigWritable, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_copyTo(PyObject *, PyObject *);}
static PyObject *meth_KConfig_copyTo(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::QString* a0;
        int a0State = 0;
         ::KConfig* a1 = nullptr;
        const  ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1|J8", &sipSelf, sipType_KConfig, &sipCpp, sipType_QString,&a0, &a0State, sipType_KConfig, &a1))
        {
             ::KConfig*sipRes;

            sipRes = sipCpp->copyTo(*a0,a1);
            sipReleaseType(const_cast< ::QString *>(a0),sipType_QString,a0State);

            return sipConvertFromType(sipRes,sipType_KConfig,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_copyTo, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_checkUpdate(PyObject *, PyObject *);}
static PyObject *meth_KConfig_checkUpdate(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::QString* a0;
        int a0State = 0;
        const  ::QString* a1;
        int a1State = 0;
         ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1J1", &sipSelf, sipType_KConfig, &sipCpp, sipType_QString,&a0, &a0State, sipType_QString,&a1, &a1State))
        {
            sipCpp->checkUpdate(*a0,*a1);
            sipReleaseType(const_cast< ::QString *>(a0),sipType_QString,a0State);
            sipReleaseType(const_cast< ::QString *>(a1),sipType_QString,a1State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_checkUpdate, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_reparseConfiguration(PyObject *, PyObject *);}
static PyObject *meth_KConfig_reparseConfiguration(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
         ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KConfig, &sipCpp))
        {
            sipCpp->reparseConfiguration();

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_reparseConfiguration, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_addConfigSources(PyObject *, PyObject *);}
static PyObject *meth_KConfig_addConfigSources(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::QStringList* a0;
        int a0State = 0;
         ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_KConfig, &sipCpp, sipType_QStringList,&a0, &a0State))
        {
            sipCpp->addConfigSources(*a0);
            sipReleaseType(const_cast< ::QStringList *>(a0),sipType_QStringList,a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_addConfigSources, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_locale(PyObject *, PyObject *);}
static PyObject *meth_KConfig_locale(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KConfig, &sipCpp))
        {
             ::QString*sipRes;

            sipRes = new  ::QString(sipCpp->locale());

            return sipConvertFromNewType(sipRes,sipType_QString,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_locale, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_setLocale(PyObject *, PyObject *);}
static PyObject *meth_KConfig_setLocale(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::QString* a0;
        int a0State = 0;
         ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_KConfig, &sipCpp, sipType_QString,&a0, &a0State))
        {
            bool sipRes;

            sipRes = sipCpp->setLocale(*a0);
            sipReleaseType(const_cast< ::QString *>(a0),sipType_QString,a0State);

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_setLocale, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_setReadDefaults(PyObject *, PyObject *);}
static PyObject *meth_KConfig_setReadDefaults(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        bool a0;
         ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bb", &sipSelf, sipType_KConfig, &sipCpp, &a0))
        {
            sipCpp->setReadDefaults(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_setReadDefaults, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_readDefaults(PyObject *, PyObject *);}
static PyObject *meth_KConfig_readDefaults(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KConfig, &sipCpp))
        {
            bool sipRes;

            sipRes = sipCpp->readDefaults();

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_readDefaults, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_isImmutable(PyObject *, PyObject *);}
static PyObject *meth_KConfig_isImmutable(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KConfig, &sipCpp))
        {
            bool sipRes;

            sipRes = (sipSelfWasArg ? sipCpp-> ::KConfig::isImmutable() : sipCpp->isImmutable());

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_isImmutable, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_setForceGlobal(PyObject *, PyObject *);}
static PyObject *meth_KConfig_setForceGlobal(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        bool a0;
         ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bb", &sipSelf, sipType_KConfig, &sipCpp, &a0))
        {
            sipCpp->setForceGlobal(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_setForceGlobal, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_forceGlobal(PyObject *, PyObject *);}
static PyObject *meth_KConfig_forceGlobal(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KConfig, &sipCpp))
        {
            bool sipRes;

            sipRes = sipCpp->forceGlobal();

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_forceGlobal, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_groupList(PyObject *, PyObject *);}
static PyObject *meth_KConfig_groupList(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_KConfig, &sipCpp))
        {
             ::QStringList*sipRes;

            sipRes = new  ::QStringList((sipSelfWasArg ? sipCpp-> ::KConfig::groupList() : sipCpp->groupList()));

            return sipConvertFromNewType(sipRes,sipType_QStringList,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_groupList, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_entryMap(PyObject *, PyObject *);}
static PyObject *meth_KConfig_entryMap(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::QString& a0def = QString();
        const  ::QString* a0 = &a0def;
        int a0State = 0;
        const  ::KConfig *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B|J1", &sipSelf, sipType_KConfig, &sipCpp, sipType_QString,&a0, &a0State))
        {
            QMap< ::QString, ::QString>*sipRes;

            sipRes = new QMap< ::QString, ::QString>(sipCpp->entryMap(*a0));
            sipReleaseType(const_cast< ::QString *>(a0),sipType_QString,a0State);

            return sipConvertFromNewType(sipRes,sipType_QMap_0100QString_0100QString,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_entryMap, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_setMainConfigName(PyObject *, PyObject *);}
static PyObject *meth_KConfig_setMainConfigName(PyObject *, PyObject *sipArgs)
{
    PyObject *sipParseErr = NULL;

    {
        const  ::QString* a0;
        int a0State = 0;

        if (sipParseArgs(&sipParseErr, sipArgs, "J1", sipType_QString,&a0, &a0State))
        {
             ::KConfig::setMainConfigName(*a0);
            sipReleaseType(const_cast< ::QString *>(a0),sipType_QString,a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_setMainConfigName, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_hasGroupImpl(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KConfig_hasGroupImpl(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QByteArray* a0;
        int a0State = 0;
        const sipKConfig *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ1", &sipSelf, sipType_KConfig, &sipCpp, sipType_QByteArray, &a0, &a0State))
        {
            bool sipRes;

            sipRes = sipCpp->sipProtectVirt_hasGroupImpl(sipSelfWasArg,*a0);
            sipReleaseType(const_cast< ::QByteArray *>(a0),sipType_QByteArray,a0State);

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_hasGroupImpl, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_groupImpl(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KConfig_groupImpl(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QByteArray* a0;
        int a0State = 0;
        sipKConfig *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ1", &sipSelf, sipType_KConfig, &sipCpp, sipType_QByteArray, &a0, &a0State))
        {
             ::KConfigGroup*sipRes;

            sipRes = new  ::KConfigGroup(sipCpp->sipProtectVirt_groupImpl(sipSelfWasArg,*a0));
            sipReleaseType(const_cast< ::QByteArray *>(a0),sipType_QByteArray,a0State);

            return sipConvertFromNewType(sipRes,sipType_KConfigGroup,NULL);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_groupImpl, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_deleteGroupImpl(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KConfig_deleteGroupImpl(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QByteArray* a0;
        int a0State = 0;
         ::KConfigBase::WriteConfigFlags a1def = KConfigBase::Normal;
         ::KConfigBase::WriteConfigFlags* a1 = &a1def;
        int a1State = 0;
        sipKConfig *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ1|J1", &sipSelf, sipType_KConfig, &sipCpp, sipType_QByteArray, &a0, &a0State, sipType_KConfigBase_WriteConfigFlags, &a1, &a1State))
        {
            sipCpp->sipProtectVirt_deleteGroupImpl(sipSelfWasArg,*a0,*a1);
            sipReleaseType(const_cast< ::QByteArray *>(a0),sipType_QByteArray,a0State);
            sipReleaseType(a1,sipType_KConfigBase_WriteConfigFlags,a1State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_deleteGroupImpl, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_isGroupImmutableImpl(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KConfig_isGroupImmutableImpl(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QByteArray* a0;
        int a0State = 0;
        const sipKConfig *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ1", &sipSelf, sipType_KConfig, &sipCpp, sipType_QByteArray, &a0, &a0State))
        {
            bool sipRes;

            sipRes = sipCpp->sipProtectVirt_isGroupImmutableImpl(sipSelfWasArg,*a0);
            sipReleaseType(const_cast< ::QByteArray *>(a0),sipType_QByteArray,a0State);

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_isGroupImmutableImpl, NULL);

    return NULL;
}


extern "C" {static PyObject *meth_KConfig_virtual_hook(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_KConfig_virtual_hook(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = NULL;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        int a0;
        void* a1;
        sipKConfig *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "Biv", &sipSelf, sipType_KConfig, &sipCpp, &a0, &a1))
        {
            sipCpp->sipProtectVirt_virtual_hook(sipSelfWasArg,a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_KConfig, sipName_virtual_hook, NULL);

    return NULL;
}


/* Cast a pointer to a type somewhere in its inheritance hierarchy. */
extern "C" {static void *cast_KConfig(void *, const sipTypeDef *);}
static void *cast_KConfig(void *sipCppV, const sipTypeDef *targetType)
{
     ::KConfig *sipCpp = reinterpret_cast< ::KConfig *>(sipCppV);

    if (targetType == sipType_KConfigBase)
        return static_cast< ::KConfigBase *>(sipCpp);

    return sipCppV;
}


/* Call the instance's destructor. */
extern "C" {static void release_KConfig(void *, int);}
static void release_KConfig(void *sipCppV, int sipState)
{
    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipKConfig *>(sipCppV);
    else
        delete reinterpret_cast< ::KConfig *>(sipCppV);
}


extern "C" {static void dealloc_KConfig(sipSimpleWrapper *);}
static void dealloc_KConfig(sipSimpleWrapper *sipSelf)
{
    if (sipIsDerivedClass(sipSelf))
        reinterpret_cast<sipKConfig *>(sipGetAddress(sipSelf))->sipPySelf = NULL;

    if (sipIsOwnedByPython(sipSelf))
    {
        release_KConfig(sipGetAddress(sipSelf), sipIsDerivedClass(sipSelf));
    }
}


extern "C" {static void *init_type_KConfig(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
static void *init_type_KConfig(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **, PyObject **sipParseErr)
{
    sipKConfig *sipCpp = 0;

    {
        const  ::QString& a0def = QString();
        const  ::QString* a0 = &a0def;
        int a0State = 0;
         ::KConfig::OpenFlags a1def = KConfig::FullConfig;
         ::KConfig::OpenFlags* a1 = &a1def;
        int a1State = 0;
         ::QStandardPaths::StandardLocation a2 = QStandardPaths::GenericConfigLocation;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, "|J1J1E", sipType_QString,&a0, &a0State, sipType_KConfig_OpenFlags, &a1, &a1State, sipType_QStandardPaths_StandardLocation, &a2))
        {
            sipCpp = new sipKConfig(*a0,*a1,a2);
            sipReleaseType(const_cast< ::QString *>(a0),sipType_QString,a0State);
            sipReleaseType(a1,sipType_KConfig_OpenFlags,a1State);

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        const  ::QString* a0;
        int a0State = 0;
        const  ::QString* a1;
        int a1State = 0;
         ::QStandardPaths::StandardLocation a2 = QStandardPaths::GenericConfigLocation;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, "J1J1|E", sipType_QString,&a0, &a0State, sipType_QString,&a1, &a1State, sipType_QStandardPaths_StandardLocation, &a2))
        {
            sipCpp = new sipKConfig(*a0,*a1,a2);
            sipReleaseType(const_cast< ::QString *>(a0),sipType_QString,a0State);
            sipReleaseType(const_cast< ::QString *>(a1),sipType_QString,a1State);

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return NULL;
}


/* Define this type's super-types. */
static sipEncodedTypeDef supers_KConfig[] = {{5, 255, 1}};


static PyMethodDef methods_KConfig[] = {
    {SIP_MLNAME_CAST(sipName_accessMode), meth_KConfig_accessMode, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_addConfigSources), meth_KConfig_addConfigSources, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_checkUpdate), meth_KConfig_checkUpdate, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_copyTo), meth_KConfig_copyTo, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_deleteGroupImpl), (PyCFunction)meth_KConfig_deleteGroupImpl, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_entryMap), meth_KConfig_entryMap, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_forceGlobal), meth_KConfig_forceGlobal, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_groupImpl), (PyCFunction)meth_KConfig_groupImpl, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_groupList), meth_KConfig_groupList, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_hasGroupImpl), (PyCFunction)meth_KConfig_hasGroupImpl, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_isConfigWritable), meth_KConfig_isConfigWritable, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_isDirty), meth_KConfig_isDirty, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_isGroupImmutableImpl), (PyCFunction)meth_KConfig_isGroupImmutableImpl, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_isImmutable), meth_KConfig_isImmutable, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_locale), meth_KConfig_locale, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_locationType), meth_KConfig_locationType, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_markAsClean), meth_KConfig_markAsClean, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_name), meth_KConfig_name, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_openFlags), meth_KConfig_openFlags, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_readDefaults), meth_KConfig_readDefaults, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_reparseConfiguration), meth_KConfig_reparseConfiguration, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_setForceGlobal), meth_KConfig_setForceGlobal, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_setLocale), meth_KConfig_setLocale, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_setMainConfigName), meth_KConfig_setMainConfigName, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_setReadDefaults), meth_KConfig_setReadDefaults, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_sync), meth_KConfig_sync, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_virtual_hook), (PyCFunction)meth_KConfig_virtual_hook, METH_VARARGS|METH_KEYWORDS, NULL}
};

static sipEnumMemberDef enummembers_KConfig[] = {
    {sipName_CascadeConfig, static_cast<int>( ::KConfig::CascadeConfig), 3},
    {sipName_FullConfig, static_cast<int>( ::KConfig::FullConfig), 3},
    {sipName_IncludeGlobals, static_cast<int>( ::KConfig::IncludeGlobals), 3},
    {sipName_NoCascade, static_cast<int>( ::KConfig::NoCascade), 3},
    {sipName_NoGlobals, static_cast<int>( ::KConfig::NoGlobals), 3},
    {sipName_SimpleConfig, static_cast<int>( ::KConfig::SimpleConfig), 3},
};


static pyqt5ClassPluginDef plugin_KConfig = {
    0,
    0,
    0,
    0
};


sipClassTypeDef sipTypeDef_KConfigCore_KConfig = {
    {
        -1,
        0,
        0,
        SIP_TYPE_SUPER_INIT|SIP_TYPE_CLASS,
        sipNameNr_KConfig,
        {0},
        &plugin_KConfig
    },
    {
        sipNameNr_KConfig,
        {0, 0, 1},
        27, methods_KConfig,
        6, enummembers_KConfig,
        0, 0,
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    },
    0,
    -1,
    -1,
    supers_KConfig,
    0,
    init_type_KConfig,
    0,
    0,
#if PY_MAJOR_VERSION >= 3
    0,
    0,
#else
    0,
    0,
    0,
    0,
#endif
    dealloc_KConfig,
    0,
    0,
    0,
    release_KConfig,
    cast_KConfig,
    0,
    0,
    0,
    0,
    0,
    0
};
