/*
 * Interface wrapper code.
 *
 * Generated by SIP 6.6.2
 *
 * Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
 * 
 * This file is part of PyQt5.
 * 
 * This file may be used under the terms of the GNU General Public License
 * version 3.0 as published by the Free Software Foundation and appearing in
 * the file LICENSE included in the packaging of this file.  Please review the
 * following information to ensure the GNU General Public License version 3.0
 * requirements will be met: http://www.gnu.org/copyleft/gpl.html.
 * 
 * If you do not wish to use this file under the terms of the GPL version 3.0
 * then you may purchase a commercial license.  For more information contact
 * info@riverbankcomputing.com.
 * 
 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 */

#include "sipAPIQtXmlPatterns.h"

#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtXmlPatterns/qsimplexmlnodemodel.sip"
#include <qsimplexmlnodemodel.h>
#line 29 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternsQSimpleXmlNodeModel.cpp"

#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtXmlPatterns/qxmlnamepool.sip"
#include <qxmlnamepool.h>
#line 33 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternsQSimpleXmlNodeModel.cpp"
#line 28 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qpycore_qvector.sip"
#include <qvector.h>
#line 36 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternsQSimpleXmlNodeModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtXmlPatterns/qabstractxmlnodemodel.sip"
#include <qabstractxmlnodemodel.h>
#line 39 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternsQSimpleXmlNodeModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtXmlPatterns/qxmlname.sip"
#include <qxmlname.h>
#line 42 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternsQSimpleXmlNodeModel.cpp"
#line 27 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qstring.sip"
#include <qstring.h>
#line 45 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternsQSimpleXmlNodeModel.cpp"
#line 28 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qpycore_qvector.sip"
#include <qvector.h>
#line 48 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternsQSimpleXmlNodeModel.cpp"
#line 109 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qurl.sip"
#include <qurl.h>
#line 51 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternsQSimpleXmlNodeModel.cpp"
#line 76 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtXmlPatterns/qabstractxmlnodemodel.sip"
#include <qabstractxmlnodemodel.h>
#line 54 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternsQSimpleXmlNodeModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtXmlPatterns/qsourcelocation.sip"
#include <qsourcelocation.h>
#line 57 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternsQSimpleXmlNodeModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qvariant.sip"
#include <qvariant.h>
#line 60 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternsQSimpleXmlNodeModel.cpp"


class sipQSimpleXmlNodeModel : public  ::QSimpleXmlNodeModel
{
public:
    sipQSimpleXmlNodeModel(const  ::QXmlNamePool&);
    virtual ~sipQSimpleXmlNodeModel();

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
     ::QUrl baseUri(const  ::QXmlNodeModelIndex&) const SIP_OVERRIDE;
     ::QUrl documentUri(const  ::QXmlNodeModelIndex&) const SIP_OVERRIDE;
     ::QXmlNodeModelIndex::NodeKind kind(const  ::QXmlNodeModelIndex&) const SIP_OVERRIDE;
     ::QXmlNodeModelIndex::DocumentOrder compareOrder(const  ::QXmlNodeModelIndex&,const  ::QXmlNodeModelIndex&) const SIP_OVERRIDE;
     ::QXmlNodeModelIndex root(const  ::QXmlNodeModelIndex&) const SIP_OVERRIDE;
     ::QXmlName name(const  ::QXmlNodeModelIndex&) const SIP_OVERRIDE;
     ::QString stringValue(const  ::QXmlNodeModelIndex&) const SIP_OVERRIDE;
     ::QVariant typedValue(const  ::QXmlNodeModelIndex&) const SIP_OVERRIDE;
    QVector< ::QXmlName> namespaceBindings(const  ::QXmlNodeModelIndex&) const SIP_OVERRIDE;
     ::QXmlNodeModelIndex elementById(const  ::QXmlName&) const SIP_OVERRIDE;
    QVector< ::QXmlNodeModelIndex> nodesByIdref(const  ::QXmlName&) const SIP_OVERRIDE;
     ::QXmlNodeModelIndex nextFromSimpleAxis( ::QAbstractXmlNodeModel::SimpleAxis,const  ::QXmlNodeModelIndex&) const SIP_OVERRIDE;
    QVector< ::QXmlNodeModelIndex> attributes(const  ::QXmlNodeModelIndex&) const SIP_OVERRIDE;

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[13];
};

sipQSimpleXmlNodeModel::sipQSimpleXmlNodeModel(const  ::QXmlNamePool& a0):  ::QSimpleXmlNodeModel(a0), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipQSimpleXmlNodeModel::~sipQSimpleXmlNodeModel()
{
    sipInstanceDestroyedEx(&sipPySelf);
}

 ::QUrl sipQSimpleXmlNodeModel::baseUri(const  ::QXmlNodeModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[0]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_baseUri);

    if (!sipMeth)
        return  ::QSimpleXmlNodeModel::baseUri(a0);

    extern  ::QUrl sipVH_QtXmlPatterns_8(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QXmlNodeModelIndex&);

    return sipVH_QtXmlPatterns_8(sipGILState, sipImportedVirtErrorHandlers_QtXmlPatterns_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

 ::QUrl sipQSimpleXmlNodeModel::documentUri(const  ::QXmlNodeModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[1]), const_cast<sipSimpleWrapper **>(&sipPySelf), sipName_QSimpleXmlNodeModel, sipName_documentUri);

    if (!sipMeth)
        return  ::QUrl();

    extern  ::QUrl sipVH_QtXmlPatterns_8(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QXmlNodeModelIndex&);

    return sipVH_QtXmlPatterns_8(sipGILState, sipImportedVirtErrorHandlers_QtXmlPatterns_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

 ::QXmlNodeModelIndex::NodeKind sipQSimpleXmlNodeModel::kind(const  ::QXmlNodeModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[2]), const_cast<sipSimpleWrapper **>(&sipPySelf), sipName_QSimpleXmlNodeModel, sipName_kind);

    if (!sipMeth)
        return  ::QXmlNodeModelIndex::Attribute;

    extern  ::QXmlNodeModelIndex::NodeKind sipVH_QtXmlPatterns_9(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QXmlNodeModelIndex&);

    return sipVH_QtXmlPatterns_9(sipGILState, sipImportedVirtErrorHandlers_QtXmlPatterns_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

 ::QXmlNodeModelIndex::DocumentOrder sipQSimpleXmlNodeModel::compareOrder(const  ::QXmlNodeModelIndex& a0,const  ::QXmlNodeModelIndex& a1) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[3]), const_cast<sipSimpleWrapper **>(&sipPySelf), sipName_QSimpleXmlNodeModel, sipName_compareOrder);

    if (!sipMeth)
        return  ::QXmlNodeModelIndex::Precedes;

    extern  ::QXmlNodeModelIndex::DocumentOrder sipVH_QtXmlPatterns_10(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QXmlNodeModelIndex&,const  ::QXmlNodeModelIndex&);

    return sipVH_QtXmlPatterns_10(sipGILState, sipImportedVirtErrorHandlers_QtXmlPatterns_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1);
}

 ::QXmlNodeModelIndex sipQSimpleXmlNodeModel::root(const  ::QXmlNodeModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[4]), const_cast<sipSimpleWrapper **>(&sipPySelf), sipName_QSimpleXmlNodeModel, sipName_root);

    if (!sipMeth)
        return  ::QXmlNodeModelIndex();

    extern  ::QXmlNodeModelIndex sipVH_QtXmlPatterns_11(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QXmlNodeModelIndex&);

    return sipVH_QtXmlPatterns_11(sipGILState, sipImportedVirtErrorHandlers_QtXmlPatterns_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

 ::QXmlName sipQSimpleXmlNodeModel::name(const  ::QXmlNodeModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[5]), const_cast<sipSimpleWrapper **>(&sipPySelf), sipName_QSimpleXmlNodeModel, sipName_name);

    if (!sipMeth)
        return  ::QXmlName();

    extern  ::QXmlName sipVH_QtXmlPatterns_12(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QXmlNodeModelIndex&);

    return sipVH_QtXmlPatterns_12(sipGILState, sipImportedVirtErrorHandlers_QtXmlPatterns_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

 ::QString sipQSimpleXmlNodeModel::stringValue(const  ::QXmlNodeModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[6]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_stringValue);

    if (!sipMeth)
        return  ::QSimpleXmlNodeModel::stringValue(a0);

    extern  ::QString sipVH_QtXmlPatterns_13(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QXmlNodeModelIndex&);

    return sipVH_QtXmlPatterns_13(sipGILState, sipImportedVirtErrorHandlers_QtXmlPatterns_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

 ::QVariant sipQSimpleXmlNodeModel::typedValue(const  ::QXmlNodeModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[7]), const_cast<sipSimpleWrapper **>(&sipPySelf), sipName_QSimpleXmlNodeModel, sipName_typedValue);

    if (!sipMeth)
        return  ::QVariant();

    extern  ::QVariant sipVH_QtXmlPatterns_14(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QXmlNodeModelIndex&);

    return sipVH_QtXmlPatterns_14(sipGILState, sipImportedVirtErrorHandlers_QtXmlPatterns_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

QVector< ::QXmlName> sipQSimpleXmlNodeModel::namespaceBindings(const  ::QXmlNodeModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[8]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_namespaceBindings);

    if (!sipMeth)
        return  ::QSimpleXmlNodeModel::namespaceBindings(a0);

    extern QVector< ::QXmlName> sipVH_QtXmlPatterns_15(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QXmlNodeModelIndex&);

    return sipVH_QtXmlPatterns_15(sipGILState, sipImportedVirtErrorHandlers_QtXmlPatterns_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

 ::QXmlNodeModelIndex sipQSimpleXmlNodeModel::elementById(const  ::QXmlName& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[9]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_elementById);

    if (!sipMeth)
        return  ::QSimpleXmlNodeModel::elementById(a0);

    extern  ::QXmlNodeModelIndex sipVH_QtXmlPatterns_16(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QXmlName&);

    return sipVH_QtXmlPatterns_16(sipGILState, sipImportedVirtErrorHandlers_QtXmlPatterns_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

QVector< ::QXmlNodeModelIndex> sipQSimpleXmlNodeModel::nodesByIdref(const  ::QXmlName& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[10]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_nodesByIdref);

    if (!sipMeth)
        return  ::QSimpleXmlNodeModel::nodesByIdref(a0);

    extern QVector< ::QXmlNodeModelIndex> sipVH_QtXmlPatterns_17(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QXmlName&);

    return sipVH_QtXmlPatterns_17(sipGILState, sipImportedVirtErrorHandlers_QtXmlPatterns_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

 ::QXmlNodeModelIndex sipQSimpleXmlNodeModel::nextFromSimpleAxis( ::QAbstractXmlNodeModel::SimpleAxis a0,const  ::QXmlNodeModelIndex& a1) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[11]), const_cast<sipSimpleWrapper **>(&sipPySelf), sipName_QSimpleXmlNodeModel, sipName_nextFromSimpleAxis);

    if (!sipMeth)
        return  ::QXmlNodeModelIndex();

    extern  ::QXmlNodeModelIndex sipVH_QtXmlPatterns_18(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::QAbstractXmlNodeModel::SimpleAxis,const  ::QXmlNodeModelIndex&);

    return sipVH_QtXmlPatterns_18(sipGILState, sipImportedVirtErrorHandlers_QtXmlPatterns_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1);
}

QVector< ::QXmlNodeModelIndex> sipQSimpleXmlNodeModel::attributes(const  ::QXmlNodeModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[12]), const_cast<sipSimpleWrapper **>(&sipPySelf), sipName_QSimpleXmlNodeModel, sipName_attributes);

    if (!sipMeth)
        return QVector< ::QXmlNodeModelIndex>();

    extern QVector< ::QXmlNodeModelIndex> sipVH_QtXmlPatterns_19(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QXmlNodeModelIndex&);

    return sipVH_QtXmlPatterns_19(sipGILState, sipImportedVirtErrorHandlers_QtXmlPatterns_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}


PyDoc_STRVAR(doc_QSimpleXmlNodeModel_baseUri, "baseUri(self, QXmlNodeModelIndex) -> QUrl");

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

    {
        const  ::QXmlNodeModelIndex* a0;
        const  ::QSimpleXmlNodeModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QSimpleXmlNodeModel, &sipCpp, sipType_QXmlNodeModelIndex, &a0))
        {
             ::QUrl*sipRes;

            sipRes = new  ::QUrl((sipSelfWasArg ? sipCpp-> ::QSimpleXmlNodeModel::baseUri(*a0) : sipCpp->baseUri(*a0)));

            return sipConvertFromNewType(sipRes,sipType_QUrl,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QSimpleXmlNodeModel, sipName_baseUri, doc_QSimpleXmlNodeModel_baseUri);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSimpleXmlNodeModel_namePool, "namePool(self) -> QXmlNamePool");

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

    {
        const  ::QSimpleXmlNodeModel *sipCpp;

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

            sipRes = &sipCpp->namePool();

            return sipConvertFromType(sipRes,sipType_QXmlNamePool,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QSimpleXmlNodeModel, sipName_namePool, doc_QSimpleXmlNodeModel_namePool);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSimpleXmlNodeModel_namespaceBindings, "namespaceBindings(self, QXmlNodeModelIndex) -> List[QXmlName]");

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

    {
        const  ::QXmlNodeModelIndex* a0;
        const  ::QSimpleXmlNodeModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QSimpleXmlNodeModel, &sipCpp, sipType_QXmlNodeModelIndex, &a0))
        {
            QVector< ::QXmlName>*sipRes;

            sipRes = new QVector< ::QXmlName>((sipSelfWasArg ? sipCpp-> ::QSimpleXmlNodeModel::namespaceBindings(*a0) : sipCpp->namespaceBindings(*a0)));

            return sipConvertFromNewType(sipRes,sipType_QVector_0100QXmlName,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QSimpleXmlNodeModel, sipName_namespaceBindings, doc_QSimpleXmlNodeModel_namespaceBindings);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSimpleXmlNodeModel_stringValue, "stringValue(self, QXmlNodeModelIndex) -> str");

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

    {
        const  ::QXmlNodeModelIndex* a0;
        const  ::QSimpleXmlNodeModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QSimpleXmlNodeModel, &sipCpp, sipType_QXmlNodeModelIndex, &a0))
        {
             ::QString*sipRes;

            sipRes = new  ::QString((sipSelfWasArg ? sipCpp-> ::QSimpleXmlNodeModel::stringValue(*a0) : sipCpp->stringValue(*a0)));

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

    sipNoMethod(sipParseErr, sipName_QSimpleXmlNodeModel, sipName_stringValue, doc_QSimpleXmlNodeModel_stringValue);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSimpleXmlNodeModel_elementById, "elementById(self, QXmlName) -> QXmlNodeModelIndex");

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

    {
        const  ::QXmlName* a0;
        const  ::QSimpleXmlNodeModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QSimpleXmlNodeModel, &sipCpp, sipType_QXmlName, &a0))
        {
             ::QXmlNodeModelIndex*sipRes;

            sipRes = new  ::QXmlNodeModelIndex((sipSelfWasArg ? sipCpp-> ::QSimpleXmlNodeModel::elementById(*a0) : sipCpp->elementById(*a0)));

            return sipConvertFromNewType(sipRes,sipType_QXmlNodeModelIndex,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QSimpleXmlNodeModel, sipName_elementById, doc_QSimpleXmlNodeModel_elementById);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSimpleXmlNodeModel_nodesByIdref, "nodesByIdref(self, QXmlName) -> List[QXmlNodeModelIndex]");

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

    {
        const  ::QXmlName* a0;
        const  ::QSimpleXmlNodeModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QSimpleXmlNodeModel, &sipCpp, sipType_QXmlName, &a0))
        {
            QVector< ::QXmlNodeModelIndex>*sipRes;

            sipRes = new QVector< ::QXmlNodeModelIndex>((sipSelfWasArg ? sipCpp-> ::QSimpleXmlNodeModel::nodesByIdref(*a0) : sipCpp->nodesByIdref(*a0)));

            return sipConvertFromNewType(sipRes,sipType_QVector_0100QXmlNodeModelIndex,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QSimpleXmlNodeModel, sipName_nodesByIdref, doc_QSimpleXmlNodeModel_nodesByIdref);

    return SIP_NULLPTR;
}


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

    if (targetType == sipType_QSimpleXmlNodeModel)
        return sipCppV;

    if (targetType == sipType_QAbstractXmlNodeModel)
        return static_cast< ::QAbstractXmlNodeModel *>(sipCpp);

    return SIP_NULLPTR;
}


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


extern "C" {static void dealloc_QSimpleXmlNodeModel(sipSimpleWrapper *);}
static void dealloc_QSimpleXmlNodeModel(sipSimpleWrapper *sipSelf)
{
    if (sipIsDerivedClass(sipSelf))
        reinterpret_cast<sipQSimpleXmlNodeModel *>(sipGetAddress(sipSelf))->sipPySelf = SIP_NULLPTR;

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


extern "C" {static void *init_type_QSimpleXmlNodeModel(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
static void *init_type_QSimpleXmlNodeModel(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **, PyObject **sipParseErr)
{
    sipQSimpleXmlNodeModel *sipCpp = SIP_NULLPTR;

    {
        const  ::QXmlNamePool* a0;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, "J9", sipType_QXmlNamePool, &a0))
        {
            sipCpp = new sipQSimpleXmlNodeModel(*a0);

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


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


static PyMethodDef methods_QSimpleXmlNodeModel[] = {
    {sipName_baseUri, meth_QSimpleXmlNodeModel_baseUri, METH_VARARGS, doc_QSimpleXmlNodeModel_baseUri},
    {sipName_elementById, meth_QSimpleXmlNodeModel_elementById, METH_VARARGS, doc_QSimpleXmlNodeModel_elementById},
    {sipName_namePool, meth_QSimpleXmlNodeModel_namePool, METH_VARARGS, doc_QSimpleXmlNodeModel_namePool},
    {sipName_namespaceBindings, meth_QSimpleXmlNodeModel_namespaceBindings, METH_VARARGS, doc_QSimpleXmlNodeModel_namespaceBindings},
    {sipName_nodesByIdref, meth_QSimpleXmlNodeModel_nodesByIdref, METH_VARARGS, doc_QSimpleXmlNodeModel_nodesByIdref},
    {sipName_stringValue, meth_QSimpleXmlNodeModel_stringValue, METH_VARARGS, doc_QSimpleXmlNodeModel_stringValue}
};

PyDoc_STRVAR(doc_QSimpleXmlNodeModel, "\1QSimpleXmlNodeModel(QXmlNamePool)");


static pyqt5ClassPluginDef plugin_QSimpleXmlNodeModel = {
    SIP_NULLPTR,
    0,
    SIP_NULLPTR,
    SIP_NULLPTR
};


sipClassTypeDef sipTypeDef_QtXmlPatterns_QSimpleXmlNodeModel = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_ABSTRACT|SIP_TYPE_SUPER_INIT|SIP_TYPE_LIMITED_API|SIP_TYPE_CLASS,
        sipNameNr_QSimpleXmlNodeModel,
        SIP_NULLPTR,
        &plugin_QSimpleXmlNodeModel
    },
    {
        sipNameNr_QSimpleXmlNodeModel,
        {0, 0, 1},
        6, methods_QSimpleXmlNodeModel,
        0, SIP_NULLPTR,
        0, SIP_NULLPTR,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_QSimpleXmlNodeModel,
    -1,
    -1,
    supers_QSimpleXmlNodeModel,
    SIP_NULLPTR,
    init_type_QSimpleXmlNodeModel,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_QSimpleXmlNodeModel,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    release_QSimpleXmlNodeModel,
    cast_QSimpleXmlNodeModel,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    sizeof ( ::QSimpleXmlNodeModel),
};
