/*
 * Interface wrapper code.
 *
 * Generated by SIP 6.14.0
 *
 * Copyright (c) 2024 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 "sipAPIQtWidgets.h"

#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtWidgets/qdirmodel.sip"
#include <qdirmodel.h>
#line 29 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"

#line 36 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qstringlist.sip"
#include <qstringlist.h>
#line 33 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qdir.sip"
#include <qdir.h>
#line 36 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qdir.sip"
#include <qdir.h>
#line 39 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 28 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qobject.sip"
#include <qobject.h>
#line 42 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qfileinfo.sip"
#include <qfileinfo.h>
#line 45 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qabstractitemmodel.sip"
#include <qabstractitemmodel.h>
#line 48 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtGui/qicon.sip"
#include <qicon.h>
#line 51 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 27 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qstring.sip"
#include <qstring.h>
#line 54 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtWidgets/qfileiconprovider.sip"
#include <qfileiconprovider.h>
#line 57 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qnamespace.sip"
#include <qnamespace.h>
#line 60 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qmimedata.sip"
#include <qmimedata.h>
#line 63 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qnamespace.sip"
#include <qnamespace.h>
#line 66 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 38 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qpycore_qlist.sip"
#include <qlist.h>
#line 69 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qnamespace.sip"
#include <qnamespace.h>
#line 72 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qvariant.sip"
#include <qvariant.h>
#line 75 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 111 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qabstractitemmodel.sip"
#include <qabstractitemmodel.h>
#line 78 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 275 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qpycore_qhash.sip"
#include <qhash.h>
#line 81 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 30 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qbytearray.sip"
#include <qbytearray.h>
#line 84 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qdatastream.sip"
#include <qdatastream.h>
#line 87 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 38 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qpycore_qlist.sip"
#include <qlist.h>
#line 90 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 76 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qabstractitemmodel.sip"
#include <qabstractitemmodel.h>
#line 93 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 111 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qabstractitemmodel.sip"
#include <qabstractitemmodel.h>
#line 96 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 442 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qpycore_qvector.sip"
#include <qvector.h>
#line 99 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qsize.sip"
#include <qsize.h>
#line 102 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qnamespace.sip"
#include <qnamespace.h>
#line 105 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 146 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qpycore_qmap.sip"
#include <qmap.h>
#line 108 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qobjectdefs.sip"
#include <qobjectdefs.h>
#line 146 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qobjectdefs.sip"
#include <qobjectdefs.h>
#line 113 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qmetaobject.sip"
#include <qmetaobject.h>
#line 116 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 119 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 252 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 122 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 240 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 125 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 38 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qpycore_qlist.sip"
#include <qlist.h>
#line 128 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 149 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qpycore_qlist.sip"
#include <qlist.h>
#line 131 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qthread.sip"
#include <qthread.h>
#line 134 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qnamespace.sip"
#include <qnamespace.h>
#line 137 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qregexp.sip"
#include <qregexp.h>
#line 140 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qregularexpression.sip"
#include <qregularexpression.h>
#line 143 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.11/sip/QtCore/qobjectdefs.sip"
#include <qobjectdefs.h>
#line 146 "/build/pyqt5/src/PyQt5-5.15.11/build/QtWidgets/sipQtWidgetsQDirModel.cpp"


class sipQDirModel : public ::QDirModel
{
public:
    sipQDirModel(const ::QStringList&, ::QDir::Filters, ::QDir::SortFlags, ::QObject*);
    sipQDirModel(::QObject*);
    virtual ~sipQDirModel();

    int qt_metacall(QMetaObject::Call, int, void **) SIP_OVERRIDE;
    void *qt_metacast(const char *) SIP_OVERRIDE;
    const QMetaObject *metaObject() const SIP_OVERRIDE;

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    void disconnectNotify(const ::QMetaMethod&) SIP_OVERRIDE;
    void connectNotify(const ::QMetaMethod&) SIP_OVERRIDE;
    void customEvent(::QEvent*) SIP_OVERRIDE;
    void childEvent(::QChildEvent*) SIP_OVERRIDE;
    void timerEvent(::QTimerEvent*) SIP_OVERRIDE;
    bool eventFilter(::QObject*, ::QEvent*) SIP_OVERRIDE;
    bool event(::QEvent*) SIP_OVERRIDE;
    ::QModelIndex index(int, int, const ::QModelIndex&) const SIP_OVERRIDE;
    ::QModelIndex parent(const ::QModelIndex&) const SIP_OVERRIDE;
    ::QModelIndex sibling(int, int, const ::QModelIndex&) const SIP_OVERRIDE;
    int rowCount(const ::QModelIndex&) const SIP_OVERRIDE;
    int columnCount(const ::QModelIndex&) const SIP_OVERRIDE;
    bool hasChildren(const ::QModelIndex&) const SIP_OVERRIDE;
    ::QVariant data(const ::QModelIndex&, int) const SIP_OVERRIDE;
    bool setData(const ::QModelIndex&, const ::QVariant&, int) SIP_OVERRIDE;
    ::QVariant headerData(int, ::Qt::Orientation, int) const SIP_OVERRIDE;
    bool setHeaderData(int, ::Qt::Orientation, const ::QVariant&, int) SIP_OVERRIDE;
    QMap<int, ::QVariant> itemData(const ::QModelIndex&) const SIP_OVERRIDE;
    bool setItemData(const ::QModelIndex&, const QMap<int, ::QVariant>&) SIP_OVERRIDE;
    ::QStringList mimeTypes() const SIP_OVERRIDE;
    ::QMimeData* mimeData(const ::QModelIndexList&) const SIP_OVERRIDE;
    bool dropMimeData(const ::QMimeData*, ::Qt::DropAction, int, int, const ::QModelIndex&) SIP_OVERRIDE;
    ::Qt::DropActions supportedDropActions() const SIP_OVERRIDE;
    bool insertRows(int, int, const ::QModelIndex&) SIP_OVERRIDE;
    bool insertColumns(int, int, const ::QModelIndex&) SIP_OVERRIDE;
    bool removeRows(int, int, const ::QModelIndex&) SIP_OVERRIDE;
    bool removeColumns(int, int, const ::QModelIndex&) SIP_OVERRIDE;
    void fetchMore(const ::QModelIndex&) SIP_OVERRIDE;
    bool canFetchMore(const ::QModelIndex&) const SIP_OVERRIDE;
    ::Qt::ItemFlags flags(const ::QModelIndex&) const SIP_OVERRIDE;
    void sort(int, ::Qt::SortOrder) SIP_OVERRIDE;
    ::QModelIndex buddy(const ::QModelIndex&) const SIP_OVERRIDE;
    ::QModelIndexList match(const ::QModelIndex&, int, const ::QVariant&, int, ::Qt::MatchFlags) const SIP_OVERRIDE;
    ::QSize span(const ::QModelIndex&) const SIP_OVERRIDE;
    bool submit() SIP_OVERRIDE;
    void revert() SIP_OVERRIDE;
    ::Qt::DropActions supportedDragActions() const SIP_OVERRIDE;
    QHash<int, ::QByteArray> roleNames() const SIP_OVERRIDE;
    bool canDropMimeData(const ::QMimeData*, ::Qt::DropAction, int, int, const ::QModelIndex&) const SIP_OVERRIDE;
    bool moveRows(const ::QModelIndex&, int, int, const ::QModelIndex&, int) SIP_OVERRIDE;
    bool moveColumns(const ::QModelIndex&, int, int, const ::QModelIndex&, int) SIP_OVERRIDE;

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[41];
};

sipQDirModel::sipQDirModel(const ::QStringList& a0, ::QDir::Filters a1, ::QDir::SortFlags a2, ::QObject*a3): ::QDirModel(a0, a1, a2, a3), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipQDirModel::sipQDirModel(::QObject*a0): ::QDirModel(a0), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

const QMetaObject *sipQDirModel::metaObject() const
{
    if (sipGetInterpreter())
        return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : sip_QtWidgets_qt_metaobject(sipPySelf, sipType_QDirModel);

    return ::QDirModel::metaObject();
}

int sipQDirModel::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = ::QDirModel::qt_metacall(_c, _id, _a);

    if (_id >= 0)
    {
        SIP_BLOCK_THREADS
        _id = sip_QtWidgets_qt_metacall(sipPySelf, sipType_QDirModel, _c, _id, _a);
        SIP_UNBLOCK_THREADS
    }

    return _id;
}

void *sipQDirModel::qt_metacast(const char *_clname)
{
    void *sipCpp;

    return (sip_QtWidgets_qt_metacast(sipPySelf, sipType_QDirModel, _clname, &sipCpp) ? sipCpp : ::QDirModel::qt_metacast(_clname));
}

void sipQDirModel::disconnectNotify(const ::QMetaMethod& a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[0], &sipPySelf, SIP_NULLPTR, sipName_disconnectNotify);

    if (!sipMeth)
    {
        ::QDirModel::disconnectNotify(a0);
        return;
    }

    extern void sipVH_QtWidgets_0(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QMetaMethod&);

    sipVH_QtWidgets_0(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipQDirModel::connectNotify(const ::QMetaMethod& a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[1], &sipPySelf, SIP_NULLPTR, sipName_connectNotify);

    if (!sipMeth)
    {
        ::QDirModel::connectNotify(a0);
        return;
    }

    extern void sipVH_QtWidgets_0(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QMetaMethod&);

    sipVH_QtWidgets_0(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipQDirModel::customEvent(::QEvent*a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[2], &sipPySelf, SIP_NULLPTR, sipName_customEvent);

    if (!sipMeth)
    {
        ::QDirModel::customEvent(a0);
        return;
    }

    extern void sipVH_QtWidgets_1(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::QEvent*);

    sipVH_QtWidgets_1(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipQDirModel::childEvent(::QChildEvent*a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[3], &sipPySelf, SIP_NULLPTR, sipName_childEvent);

    if (!sipMeth)
    {
        ::QDirModel::childEvent(a0);
        return;
    }

    extern void sipVH_QtWidgets_2(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::QChildEvent*);

    sipVH_QtWidgets_2(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipQDirModel::timerEvent(::QTimerEvent*a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[4], &sipPySelf, SIP_NULLPTR, sipName_timerEvent);

    if (!sipMeth)
    {
        ::QDirModel::timerEvent(a0);
        return;
    }

    extern void sipVH_QtWidgets_3(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::QTimerEvent*);

    sipVH_QtWidgets_3(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

bool sipQDirModel::eventFilter(::QObject*a0, ::QEvent*a1)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[5], &sipPySelf, SIP_NULLPTR, sipName_eventFilter);

    if (!sipMeth)
        return ::QDirModel::eventFilter(a0, a1);

    extern bool sipVH_QtWidgets_4(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::QObject*, ::QEvent*);

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

bool sipQDirModel::event(::QEvent*a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[6], &sipPySelf, SIP_NULLPTR, sipName_event);

    if (!sipMeth)
        return ::QDirModel::event(a0);

    extern bool sipVH_QtWidgets_5(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::QEvent*);

    return sipVH_QtWidgets_5(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

::QModelIndex sipQDirModel::index(int a0, int a1, const ::QModelIndex& a2) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::index(a0, a1, a2);

    extern ::QModelIndex sipVH_QtWidgets_131(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, int, const ::QModelIndex&);

    return sipVH_QtWidgets_131(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

::QModelIndex sipQDirModel::parent(const ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::parent(a0);

    extern ::QModelIndex sipVH_QtWidgets_118(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QModelIndex&);

    return sipVH_QtWidgets_118(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

::QModelIndex sipQDirModel::sibling(int a0, int a1, const ::QModelIndex& a2) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::sibling(a0, a1, a2);

    extern ::QModelIndex sipVH_QtWidgets_131(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, int, const ::QModelIndex&);

    return sipVH_QtWidgets_131(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

int sipQDirModel::rowCount(const ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::rowCount(a0);

    extern int sipVH_QtWidgets_130(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QModelIndex&);

    return sipVH_QtWidgets_130(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

int sipQDirModel::columnCount(const ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::columnCount(a0);

    extern int sipVH_QtWidgets_130(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QModelIndex&);

    return sipVH_QtWidgets_130(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

bool sipQDirModel::hasChildren(const ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::hasChildren(a0);

    extern bool sipVH_QtWidgets_63(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QModelIndex&);

    return sipVH_QtWidgets_63(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

::QVariant sipQDirModel::data(const ::QModelIndex& a0, int a1) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::data(a0, a1);

    extern ::QVariant sipVH_QtWidgets_129(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QModelIndex&, int);

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

bool sipQDirModel::setData(const ::QModelIndex& a0, const ::QVariant& a1, int a2)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[14], &sipPySelf, SIP_NULLPTR, sipName_setData);

    if (!sipMeth)
        return ::QDirModel::setData(a0, a1, a2);

    extern bool sipVH_QtWidgets_128(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QModelIndex&, const ::QVariant&, int);

    return sipVH_QtWidgets_128(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

::QVariant sipQDirModel::headerData(int a0, ::Qt::Orientation a1, int a2) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::headerData(a0, a1, a2);

    extern ::QVariant sipVH_QtWidgets_127(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::Qt::Orientation, int);

    return sipVH_QtWidgets_127(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

bool sipQDirModel::setHeaderData(int a0, ::Qt::Orientation a1, const ::QVariant& a2, int a3)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[16], &sipPySelf, SIP_NULLPTR, sipName_setHeaderData);

    if (!sipMeth)
        return ::QDirModel::setHeaderData(a0, a1, a2, a3);

    extern bool sipVH_QtWidgets_126(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::Qt::Orientation, const ::QVariant&, int);

    return sipVH_QtWidgets_126(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2, a3);
}

QMap<int, ::QVariant> sipQDirModel::itemData(const ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::itemData(a0);

    extern QMap<int, ::QVariant> sipVH_QtWidgets_125(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QModelIndex&);

    return sipVH_QtWidgets_125(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

bool sipQDirModel::setItemData(const ::QModelIndex& a0, const QMap<int, ::QVariant>& a1)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[18], &sipPySelf, SIP_NULLPTR, sipName_setItemData);

    if (!sipMeth)
        return ::QDirModel::setItemData(a0, a1);

    extern bool sipVH_QtWidgets_124(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QModelIndex&, const QMap<int, ::QVariant>&);

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

::QStringList sipQDirModel::mimeTypes() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::mimeTypes();

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

    return sipVH_QtWidgets_123(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

::QMimeData* sipQDirModel::mimeData(const ::QModelIndexList& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::mimeData(a0);

    extern ::QMimeData* sipVH_QtWidgets_122(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QModelIndexList&);

    return sipVH_QtWidgets_122(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

bool sipQDirModel::dropMimeData(const ::QMimeData*a0, ::Qt::DropAction a1, int a2, int a3, const ::QModelIndex& a4)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[21], &sipPySelf, SIP_NULLPTR, sipName_dropMimeData);

    if (!sipMeth)
        return ::QDirModel::dropMimeData(a0, a1, a2, a3, a4);

    extern bool sipVH_QtWidgets_113(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QMimeData*, ::Qt::DropAction, int, int, const ::QModelIndex&);

    return sipVH_QtWidgets_113(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2, a3, a4);
}

::Qt::DropActions sipQDirModel::supportedDropActions() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::supportedDropActions();

    extern ::Qt::DropActions sipVH_QtWidgets_115(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH_QtWidgets_115(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

bool sipQDirModel::insertRows(int a0, int a1, const ::QModelIndex& a2)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[23], &sipPySelf, SIP_NULLPTR, sipName_insertRows);

    if (!sipMeth)
        return ::QDirModel::insertRows(a0, a1, a2);

    extern bool sipVH_QtWidgets_121(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, int, const ::QModelIndex&);

    return sipVH_QtWidgets_121(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

bool sipQDirModel::insertColumns(int a0, int a1, const ::QModelIndex& a2)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[24], &sipPySelf, SIP_NULLPTR, sipName_insertColumns);

    if (!sipMeth)
        return ::QDirModel::insertColumns(a0, a1, a2);

    extern bool sipVH_QtWidgets_121(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, int, const ::QModelIndex&);

    return sipVH_QtWidgets_121(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

bool sipQDirModel::removeRows(int a0, int a1, const ::QModelIndex& a2)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[25], &sipPySelf, SIP_NULLPTR, sipName_removeRows);

    if (!sipMeth)
        return ::QDirModel::removeRows(a0, a1, a2);

    extern bool sipVH_QtWidgets_121(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, int, const ::QModelIndex&);

    return sipVH_QtWidgets_121(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

bool sipQDirModel::removeColumns(int a0, int a1, const ::QModelIndex& a2)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[26], &sipPySelf, SIP_NULLPTR, sipName_removeColumns);

    if (!sipMeth)
        return ::QDirModel::removeColumns(a0, a1, a2);

    extern bool sipVH_QtWidgets_121(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, int, const ::QModelIndex&);

    return sipVH_QtWidgets_121(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

void sipQDirModel::fetchMore(const ::QModelIndex& a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[27], &sipPySelf, SIP_NULLPTR, sipName_fetchMore);

    if (!sipMeth)
    {
        ::QDirModel::fetchMore(a0);
        return;
    }

    extern void sipVH_QtWidgets_54(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QModelIndex&);

    sipVH_QtWidgets_54(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

bool sipQDirModel::canFetchMore(const ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::canFetchMore(a0);

    extern bool sipVH_QtWidgets_63(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QModelIndex&);

    return sipVH_QtWidgets_63(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

::Qt::ItemFlags sipQDirModel::flags(const ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::flags(a0);

    extern ::Qt::ItemFlags sipVH_QtWidgets_120(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QModelIndex&);

    return sipVH_QtWidgets_120(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipQDirModel::sort(int a0, ::Qt::SortOrder a1)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[30], &sipPySelf, SIP_NULLPTR, sipName_sort);

    if (!sipMeth)
    {
        ::QDirModel::sort(a0, a1);
        return;
    }

    extern void sipVH_QtWidgets_119(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, ::Qt::SortOrder);

    sipVH_QtWidgets_119(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1);
}

::QModelIndex sipQDirModel::buddy(const ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::buddy(a0);

    extern ::QModelIndex sipVH_QtWidgets_118(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QModelIndex&);

    return sipVH_QtWidgets_118(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

::QModelIndexList sipQDirModel::match(const ::QModelIndex& a0, int a1, const ::QVariant& a2, int a3, ::Qt::MatchFlags a4) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::match(a0, a1, a2, a3, a4);

    extern ::QModelIndexList sipVH_QtWidgets_117(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QModelIndex&, int, const ::QVariant&, int, ::Qt::MatchFlags);

    return sipVH_QtWidgets_117(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2, a3, a4);
}

::QSize sipQDirModel::span(const ::QModelIndex& a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::span(a0);

    extern ::QSize sipVH_QtWidgets_116(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QModelIndex&);

    return sipVH_QtWidgets_116(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

bool sipQDirModel::submit()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[34], &sipPySelf, SIP_NULLPTR, sipName_submit);

    if (!sipMeth)
        return ::QDirModel::submit();

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

    return sipVH_QtWidgets_32(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

void sipQDirModel::revert()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[35], &sipPySelf, SIP_NULLPTR, sipName_revert);

    if (!sipMeth)
    {
        ::QDirModel::revert();
        return;
    }

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

    sipVH_QtWidgets_37(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

::Qt::DropActions sipQDirModel::supportedDragActions() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::supportedDragActions();

    extern ::Qt::DropActions sipVH_QtWidgets_115(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH_QtWidgets_115(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

QHash<int, ::QByteArray> sipQDirModel::roleNames() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::roleNames();

    extern QHash<int, ::QByteArray> sipVH_QtWidgets_114(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH_QtWidgets_114(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

bool sipQDirModel::canDropMimeData(const ::QMimeData*a0, ::Qt::DropAction a1, int a2, int a3, const ::QModelIndex& a4) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::QDirModel::canDropMimeData(a0, a1, a2, a3, a4);

    extern bool sipVH_QtWidgets_113(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QMimeData*, ::Qt::DropAction, int, int, const ::QModelIndex&);

    return sipVH_QtWidgets_113(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2, a3, a4);
}

bool sipQDirModel::moveRows(const ::QModelIndex& a0, int a1, int a2, const ::QModelIndex& a3, int a4)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[39], &sipPySelf, SIP_NULLPTR, sipName_moveRows);

    if (!sipMeth)
        return ::QDirModel::moveRows(a0, a1, a2, a3, a4);

    extern bool sipVH_QtWidgets_112(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QModelIndex&, int, int, const ::QModelIndex&, int);

    return sipVH_QtWidgets_112(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2, a3, a4);
}

bool sipQDirModel::moveColumns(const ::QModelIndex& a0, int a1, int a2, const ::QModelIndex& a3, int a4)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[40], &sipPySelf, SIP_NULLPTR, sipName_moveColumns);

    if (!sipMeth)
        return ::QDirModel::moveColumns(a0, a1, a2, a3, a4);

    extern bool sipVH_QtWidgets_112(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::QModelIndex&, int, int, const ::QModelIndex&, int);

    return sipVH_QtWidgets_112(sipGILState, sipImportedVirtErrorHandlers_QtWidgets_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2, a3, a4);
}


PyDoc_STRVAR(doc_QDirModel_index, "index(self, row: int, column: int, parent: QModelIndex = QModelIndex()) -> QModelIndex\n"
"index(self, path: Optional[str], column: int = 0) -> QModelIndex");

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

    {
        int a0;
        int a1;
        const ::QModelIndex& a2def = QModelIndex();
        const ::QModelIndex* a2 = &a2def;
        const ::QDirModel *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_parent,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii|J9", &sipSelf, sipType_QDirModel, &sipCpp, &a0, &a1, sipType_QModelIndex, &a2))
        {
            ::QModelIndex*sipRes;

            sipRes = new ::QModelIndex((sipSelfWasArg ? sipCpp->::QDirModel::index(a0, a1, *a2) : sipCpp->index(a0, a1, *a2)));

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

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

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            sipName_column,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1|i", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QString, &a0, &a0State, &a1))
        {
            ::QModelIndex*sipRes;

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

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

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_index, doc_QDirModel_index);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_parent, "parent(self, child: QModelIndex) -> QModelIndex\n"
"parent(self) -> Optional[QObject]");

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

    {
        const ::QModelIndex* a0;
        const ::QDirModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QModelIndex, &a0))
        {
            ::QModelIndex*sipRes;

            sipRes = new ::QModelIndex((sipSelfWasArg ? sipCpp->::QDirModel::parent(*a0) : sipCpp->parent(*a0)));

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

    {
        const ::QDirModel *sipCpp;

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

            sipRes = sipCpp->parent();

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

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_parent, doc_QDirModel_parent);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_rowCount, "rowCount(self, parent: QModelIndex = QModelIndex()) -> int");

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

    {
        const ::QModelIndex& a0def = QModelIndex();
        const ::QModelIndex* a0 = &a0def;
        const ::QDirModel *sipCpp;

        static const char *sipKwdList[] = {
            sipName_parent,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|J9", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QModelIndex, &a0))
        {
            int sipRes;

            sipRes = (sipSelfWasArg ? sipCpp->::QDirModel::rowCount(*a0) : sipCpp->rowCount(*a0));

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_rowCount, doc_QDirModel_rowCount);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_columnCount, "columnCount(self, parent: QModelIndex = QModelIndex()) -> int");

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

    {
        const ::QModelIndex& a0def = QModelIndex();
        const ::QModelIndex* a0 = &a0def;
        const ::QDirModel *sipCpp;

        static const char *sipKwdList[] = {
            sipName_parent,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|J9", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QModelIndex, &a0))
        {
            int sipRes;

            sipRes = (sipSelfWasArg ? sipCpp->::QDirModel::columnCount(*a0) : sipCpp->columnCount(*a0));

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_columnCount, doc_QDirModel_columnCount);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_data, "data(self, index: QModelIndex, role: int = Qt.DisplayRole) -> Any");

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

    {
        const ::QModelIndex* a0;
        int a1 = Qt::DisplayRole;
        const ::QDirModel *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            sipName_role,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9|i", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QModelIndex, &a0, &a1))
        {
            ::QVariant*sipRes;

            sipRes = new ::QVariant((sipSelfWasArg ? sipCpp->::QDirModel::data(*a0, a1) : sipCpp->data(*a0, a1)));

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

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_data, doc_QDirModel_data);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_setData, "setData(self, index: QModelIndex, value: Any, role: int = Qt.EditRole) -> bool");

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

    {
        const ::QModelIndex* a0;
        const ::QVariant* a1;
        int a1State = 0;
        int a2 = Qt::EditRole;
        ::QDirModel *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_role,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J1|i", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QModelIndex, &a0, sipType_QVariant, &a1, &a1State, &a2))
        {
            bool sipRes;

            sipRes = (sipSelfWasArg ? sipCpp->::QDirModel::setData(*a0, *a1, a2) : sipCpp->setData(*a0, *a1, a2));
            sipReleaseType(const_cast< ::QVariant *>(a1), sipType_QVariant, a1State);

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_setData, doc_QDirModel_setData);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_headerData, "headerData(self, section: int, orientation: Qt.Orientation, role: int = Qt.DisplayRole) -> Any");

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

    {
        int a0;
        ::Qt::Orientation a1;
        int a2 = Qt::DisplayRole;
        const ::QDirModel *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_role,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiE|i", &sipSelf, sipType_QDirModel, &sipCpp, &a0, sipType_Qt_Orientation, &a1, &a2))
        {
            ::QVariant*sipRes;

            sipRes = new ::QVariant((sipSelfWasArg ? sipCpp->::QDirModel::headerData(a0, a1, a2) : sipCpp->headerData(a0, a1, a2)));

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

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_headerData, doc_QDirModel_headerData);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_hasChildren, "hasChildren(self, parent: QModelIndex = QModelIndex()) -> bool");

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

    {
        const ::QModelIndex& a0def = QModelIndex();
        const ::QModelIndex* a0 = &a0def;
        const ::QDirModel *sipCpp;

        static const char *sipKwdList[] = {
            sipName_parent,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|J9", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QModelIndex, &a0))
        {
            bool sipRes;

            sipRes = (sipSelfWasArg ? sipCpp->::QDirModel::hasChildren(*a0) : sipCpp->hasChildren(*a0));

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_hasChildren, doc_QDirModel_hasChildren);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_flags, "flags(self, index: QModelIndex) -> Qt.ItemFlags");

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

    {
        const ::QModelIndex* a0;
        const ::QDirModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QModelIndex, &a0))
        {
            ::Qt::ItemFlags*sipRes;

            sipRes = new ::Qt::ItemFlags((sipSelfWasArg ? sipCpp->::QDirModel::flags(*a0) : sipCpp->flags(*a0)));

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

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_flags, doc_QDirModel_flags);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_sort, "sort(self, column: int, order: Qt.SortOrder = Qt.AscendingOrder)");

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

    {
        int a0;
        ::Qt::SortOrder a1 = Qt::AscendingOrder;
        ::QDirModel *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            sipName_order,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi|E", &sipSelf, sipType_QDirModel, &sipCpp, &a0, sipType_Qt_SortOrder, &a1))
        {
            (sipSelfWasArg ? sipCpp->::QDirModel::sort(a0, a1) : sipCpp->sort(a0, a1));

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_sort, doc_QDirModel_sort);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_mimeTypes, "mimeTypes(self) -> list[str]");

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

    {
        const ::QDirModel *sipCpp;

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

            sipRes = new ::QStringList((sipSelfWasArg ? sipCpp->::QDirModel::mimeTypes() : sipCpp->mimeTypes()));

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

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_mimeTypes, doc_QDirModel_mimeTypes);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_mimeData, "mimeData(self, indexes: Iterable[QModelIndex]) -> Optional[QMimeData]");

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

    {
        const ::QModelIndexList* a0;
        int a0State = 0;
        const ::QDirModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QList_0100QModelIndex, &a0, &a0State))
        {
            ::QMimeData*sipRes;

            sipRes = (sipSelfWasArg ? sipCpp->::QDirModel::mimeData(*a0) : sipCpp->mimeData(*a0));
            sipReleaseType(const_cast< ::QModelIndexList *>(a0), sipType_QList_0100QModelIndex, a0State);

            return sipConvertFromType(sipRes, sipType_QMimeData, Py_None);
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_mimeData, doc_QDirModel_mimeData);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_dropMimeData, "dropMimeData(self, data: Optional[QMimeData], action: Qt.DropAction, row: int, column: int, parent: QModelIndex) -> bool");

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

    {
        const ::QMimeData* a0;
        ::Qt::DropAction a1;
        int a2;
        int a3;
        const ::QModelIndex* a4;
        ::QDirModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8EiiJ9", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QMimeData, &a0, sipType_Qt_DropAction, &a1, &a2, &a3, sipType_QModelIndex, &a4))
        {
            bool sipRes;

            sipRes = (sipSelfWasArg ? sipCpp->::QDirModel::dropMimeData(a0, a1, a2, a3, *a4) : sipCpp->dropMimeData(a0, a1, a2, a3, *a4));

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_dropMimeData, doc_QDirModel_dropMimeData);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_supportedDropActions, "supportedDropActions(self) -> Qt.DropActions");

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

    {
        const ::QDirModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QDirModel, &sipCpp))
        {
            ::Qt::DropActions*sipRes;

            sipRes = new ::Qt::DropActions((sipSelfWasArg ? sipCpp->::QDirModel::supportedDropActions() : sipCpp->supportedDropActions()));

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

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_supportedDropActions, doc_QDirModel_supportedDropActions);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_setIconProvider, "setIconProvider(self, provider: Optional[QFileIconProvider])");

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

    {
        ::QFileIconProvider* a0;
        PyObject *a0Keep;
        ::QDirModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B@J8", &sipSelf, sipType_QDirModel, &sipCpp, &a0Keep, sipType_QFileIconProvider, &a0))
        {
            sipCpp->setIconProvider(a0);

            sipKeepReference(sipSelf, -18, a0Keep);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_setIconProvider, doc_QDirModel_setIconProvider);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_iconProvider, "iconProvider(self) -> Optional[QFileIconProvider]");

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

    {
        const ::QDirModel *sipCpp;

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

            sipRes = sipCpp->iconProvider();

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

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_iconProvider, doc_QDirModel_iconProvider);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_setNameFilters, "setNameFilters(self, filters: Iterable[Optional[str]])");

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

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

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

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_setNameFilters, doc_QDirModel_setNameFilters);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_nameFilters, "nameFilters(self) -> list[str]");

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

    {
        const ::QDirModel *sipCpp;

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

            sipRes = new ::QStringList(sipCpp->nameFilters());

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

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_nameFilters, doc_QDirModel_nameFilters);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_setFilter, "setFilter(self, filters: Union[QDir.Filters, QDir.Filter])");

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

    {
        ::QDir::Filters* a0;
        int a0State = 0;
        ::QDirModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QDir_Filters, &a0, &a0State))
        {
            sipCpp->setFilter(*a0);
            sipReleaseType(a0, sipType_QDir_Filters, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_setFilter, doc_QDirModel_setFilter);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_filter, "filter(self) -> QDir.Filters");

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

    {
        const ::QDirModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QDirModel, &sipCpp))
        {
            ::QDir::Filters*sipRes;

            sipRes = new ::QDir::Filters(sipCpp->filter());

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

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_filter, doc_QDirModel_filter);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_setSorting, "setSorting(self, sort: Union[QDir.SortFlags, QDir.SortFlag])");

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

    {
        ::QDir::SortFlags* a0;
        int a0State = 0;
        ::QDirModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QDir_SortFlags, &a0, &a0State))
        {
            sipCpp->setSorting(*a0);
            sipReleaseType(a0, sipType_QDir_SortFlags, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_setSorting, doc_QDirModel_setSorting);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_sorting, "sorting(self) -> QDir.SortFlags");

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

    {
        const ::QDirModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QDirModel, &sipCpp))
        {
            ::QDir::SortFlags*sipRes;

            sipRes = new ::QDir::SortFlags(sipCpp->sorting());

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

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_sorting, doc_QDirModel_sorting);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_setResolveSymlinks, "setResolveSymlinks(self, enable: bool)");

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

    {
        bool a0;
        ::QDirModel *sipCpp;

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

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_setResolveSymlinks, doc_QDirModel_setResolveSymlinks);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_resolveSymlinks, "resolveSymlinks(self) -> bool");

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

    {
        const ::QDirModel *sipCpp;

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

            sipRes = sipCpp->resolveSymlinks();

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_resolveSymlinks, doc_QDirModel_resolveSymlinks);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_setReadOnly, "setReadOnly(self, enable: bool)");

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

    {
        bool a0;
        ::QDirModel *sipCpp;

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

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_setReadOnly, doc_QDirModel_setReadOnly);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_isReadOnly, "isReadOnly(self) -> bool");

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

    {
        const ::QDirModel *sipCpp;

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

            sipRes = sipCpp->isReadOnly();

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_isReadOnly, doc_QDirModel_isReadOnly);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_setLazyChildCount, "setLazyChildCount(self, enable: bool)");

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

    {
        bool a0;
        ::QDirModel *sipCpp;

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

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_setLazyChildCount, doc_QDirModel_setLazyChildCount);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_lazyChildCount, "lazyChildCount(self) -> bool");

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

    {
        const ::QDirModel *sipCpp;

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

            sipRes = sipCpp->lazyChildCount();

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_lazyChildCount, doc_QDirModel_lazyChildCount);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_refresh, "refresh(self, parent: QModelIndex = QModelIndex())");

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

    {
        const ::QModelIndex& a0def = QModelIndex();
        const ::QModelIndex* a0 = &a0def;
        ::QDirModel *sipCpp;

        static const char *sipKwdList[] = {
            sipName_parent,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|J9", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QModelIndex, &a0))
        {
            sipCpp->refresh(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_refresh, doc_QDirModel_refresh);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_isDir, "isDir(self, index: QModelIndex) -> bool");

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

    {
        const ::QModelIndex* a0;
        const ::QDirModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QModelIndex, &a0))
        {
            bool sipRes;

            sipRes = sipCpp->isDir(*a0);

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_isDir, doc_QDirModel_isDir);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_mkdir, "mkdir(self, parent: QModelIndex, name: Optional[str]) -> QModelIndex");

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

    {
        const ::QModelIndex* a0;
        const ::QString* a1;
        int a1State = 0;
        ::QDirModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9J1", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QModelIndex, &a0, sipType_QString, &a1, &a1State))
        {
            ::QModelIndex*sipRes;

            sipRes = new ::QModelIndex(sipCpp->mkdir(*a0, *a1));
            sipReleaseType(const_cast< ::QString *>(a1), sipType_QString, a1State);

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

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_mkdir, doc_QDirModel_mkdir);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_rmdir, "rmdir(self, index: QModelIndex) -> bool");

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

    {
        const ::QModelIndex* a0;
        ::QDirModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QModelIndex, &a0))
        {
            bool sipRes;

            sipRes = sipCpp->rmdir(*a0);

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_rmdir, doc_QDirModel_rmdir);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_remove, "remove(self, index: QModelIndex) -> bool");

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

    {
        const ::QModelIndex* a0;
        ::QDirModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QModelIndex, &a0))
        {
            bool sipRes;

            sipRes = sipCpp->remove(*a0);

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_remove, doc_QDirModel_remove);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_filePath, "filePath(self, index: QModelIndex) -> str");

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

    {
        const ::QModelIndex* a0;
        const ::QDirModel *sipCpp;

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

            sipRes = new ::QString(sipCpp->filePath(*a0));

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

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_filePath, doc_QDirModel_filePath);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_fileName, "fileName(self, index: QModelIndex) -> str");

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

    {
        const ::QModelIndex* a0;
        const ::QDirModel *sipCpp;

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

            sipRes = new ::QString(sipCpp->fileName(*a0));

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

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_fileName, doc_QDirModel_fileName);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_fileIcon, "fileIcon(self, index: QModelIndex) -> QIcon");

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

    {
        const ::QModelIndex* a0;
        const ::QDirModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QModelIndex, &a0))
        {
            ::QIcon*sipRes;

            sipRes = new ::QIcon(sipCpp->fileIcon(*a0));

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

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_fileIcon, doc_QDirModel_fileIcon);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QDirModel_fileInfo, "fileInfo(self, index: QModelIndex) -> QFileInfo");

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

    {
        const ::QModelIndex* a0;
        const ::QDirModel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QDirModel, &sipCpp, sipType_QModelIndex, &a0))
        {
            ::QFileInfo*sipRes;

            sipRes = new ::QFileInfo(sipCpp->fileInfo(*a0));

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

    sipNoMethod(sipParseErr, sipName_QDirModel, sipName_fileInfo, doc_QDirModel_fileInfo);

    return SIP_NULLPTR;
}


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

    if (targetType == sipType_QDirModel)
        return sipCppV;

    sipCppV = ((const sipClassTypeDef *)sipType_QAbstractItemModel)->ctd_cast(static_cast< ::QAbstractItemModel *>(sipCpp), targetType);
    if (sipCppV)
        return sipCppV;

    return SIP_NULLPTR;
}


/* Call the instance's destructor. */
extern "C" {static void release_QDirModel(void *, int);}
static void release_QDirModel(void *sipCppV, int)
{
    ::QDirModel *sipCpp = reinterpret_cast< ::QDirModel *>(sipCppV);

    if (QThread::currentThread() == sipCpp->thread())
        delete sipCpp;
    else
        sipCpp->deleteLater();
}


extern "C" {static void *array_QDirModel(Py_ssize_t);}
static void *array_QDirModel(Py_ssize_t sipNrElem)
{
    return new ::QDirModel[sipNrElem];
}


extern "C" {static void array_delete_QDirModel(void *);}
static void array_delete_QDirModel(void *sipCpp)
{
    delete[] reinterpret_cast< ::QDirModel *>(sipCpp);
}


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

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


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

    {
        const ::QStringList* a0;
        int a0State = 0;
        ::QDir::Filters* a1;
        int a1State = 0;
        ::QDir::SortFlags* a2;
        int a2State = 0;
        ::QObject* a3 = 0;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_parent,
        };

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "J1J1J1|JH", sipType_QStringList, &a0, &a0State, sipType_QDir_Filters, &a1, &a1State, sipType_QDir_SortFlags, &a2, &a2State, sipType_QObject, &a3, sipOwner))
        {
            sipCpp = new sipQDirModel(*a0, *a1, *a2, a3);
            sipReleaseType(const_cast< ::QStringList *>(a0), sipType_QStringList, a0State);
            sipReleaseType(a1, sipType_QDir_Filters, a1State);
            sipReleaseType(a2, sipType_QDir_SortFlags, a2State);

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        ::QObject* a0 = 0;

        static const char *sipKwdList[] = {
            sipName_parent,
        };

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "|JH", sipType_QObject, &a0, sipOwner))
        {
            sipCpp = new sipQDirModel(a0);

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


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


static PyMethodDef methods_QDirModel[] = {
    {sipName_columnCount, SIP_MLMETH_CAST(meth_QDirModel_columnCount), METH_VARARGS|METH_KEYWORDS, doc_QDirModel_columnCount},
    {sipName_data, SIP_MLMETH_CAST(meth_QDirModel_data), METH_VARARGS|METH_KEYWORDS, doc_QDirModel_data},
    {sipName_dropMimeData, meth_QDirModel_dropMimeData, METH_VARARGS, doc_QDirModel_dropMimeData},
    {sipName_fileIcon, meth_QDirModel_fileIcon, METH_VARARGS, doc_QDirModel_fileIcon},
    {sipName_fileInfo, meth_QDirModel_fileInfo, METH_VARARGS, doc_QDirModel_fileInfo},
    {sipName_fileName, meth_QDirModel_fileName, METH_VARARGS, doc_QDirModel_fileName},
    {sipName_filePath, meth_QDirModel_filePath, METH_VARARGS, doc_QDirModel_filePath},
    {sipName_filter, meth_QDirModel_filter, METH_VARARGS, doc_QDirModel_filter},
    {sipName_flags, meth_QDirModel_flags, METH_VARARGS, doc_QDirModel_flags},
    {sipName_hasChildren, SIP_MLMETH_CAST(meth_QDirModel_hasChildren), METH_VARARGS|METH_KEYWORDS, doc_QDirModel_hasChildren},
    {sipName_headerData, SIP_MLMETH_CAST(meth_QDirModel_headerData), METH_VARARGS|METH_KEYWORDS, doc_QDirModel_headerData},
    {sipName_iconProvider, meth_QDirModel_iconProvider, METH_VARARGS, doc_QDirModel_iconProvider},
    {sipName_index, SIP_MLMETH_CAST(meth_QDirModel_index), METH_VARARGS|METH_KEYWORDS, doc_QDirModel_index},
    {sipName_isDir, meth_QDirModel_isDir, METH_VARARGS, doc_QDirModel_isDir},
    {sipName_isReadOnly, meth_QDirModel_isReadOnly, METH_VARARGS, doc_QDirModel_isReadOnly},
    {sipName_lazyChildCount, meth_QDirModel_lazyChildCount, METH_VARARGS, doc_QDirModel_lazyChildCount},
    {sipName_mimeData, meth_QDirModel_mimeData, METH_VARARGS, doc_QDirModel_mimeData},
    {sipName_mimeTypes, meth_QDirModel_mimeTypes, METH_VARARGS, doc_QDirModel_mimeTypes},
    {sipName_mkdir, meth_QDirModel_mkdir, METH_VARARGS, doc_QDirModel_mkdir},
    {sipName_nameFilters, meth_QDirModel_nameFilters, METH_VARARGS, doc_QDirModel_nameFilters},
    {sipName_parent, meth_QDirModel_parent, METH_VARARGS, doc_QDirModel_parent},
    {sipName_refresh, SIP_MLMETH_CAST(meth_QDirModel_refresh), METH_VARARGS|METH_KEYWORDS, doc_QDirModel_refresh},
    {sipName_remove, meth_QDirModel_remove, METH_VARARGS, doc_QDirModel_remove},
    {sipName_resolveSymlinks, meth_QDirModel_resolveSymlinks, METH_VARARGS, doc_QDirModel_resolveSymlinks},
    {sipName_rmdir, meth_QDirModel_rmdir, METH_VARARGS, doc_QDirModel_rmdir},
    {sipName_rowCount, SIP_MLMETH_CAST(meth_QDirModel_rowCount), METH_VARARGS|METH_KEYWORDS, doc_QDirModel_rowCount},
    {sipName_setData, SIP_MLMETH_CAST(meth_QDirModel_setData), METH_VARARGS|METH_KEYWORDS, doc_QDirModel_setData},
    {sipName_setFilter, meth_QDirModel_setFilter, METH_VARARGS, doc_QDirModel_setFilter},
    {sipName_setIconProvider, meth_QDirModel_setIconProvider, METH_VARARGS, doc_QDirModel_setIconProvider},
    {sipName_setLazyChildCount, meth_QDirModel_setLazyChildCount, METH_VARARGS, doc_QDirModel_setLazyChildCount},
    {sipName_setNameFilters, meth_QDirModel_setNameFilters, METH_VARARGS, doc_QDirModel_setNameFilters},
    {sipName_setReadOnly, meth_QDirModel_setReadOnly, METH_VARARGS, doc_QDirModel_setReadOnly},
    {sipName_setResolveSymlinks, meth_QDirModel_setResolveSymlinks, METH_VARARGS, doc_QDirModel_setResolveSymlinks},
    {sipName_setSorting, meth_QDirModel_setSorting, METH_VARARGS, doc_QDirModel_setSorting},
    {sipName_sort, SIP_MLMETH_CAST(meth_QDirModel_sort), METH_VARARGS|METH_KEYWORDS, doc_QDirModel_sort},
    {sipName_sorting, meth_QDirModel_sorting, METH_VARARGS, doc_QDirModel_sorting},
    {sipName_supportedDropActions, meth_QDirModel_supportedDropActions, METH_VARARGS, doc_QDirModel_supportedDropActions}
};

static sipEnumMemberDef enummembers_QDirModel[] = {
    {sipName_FileIconRole, static_cast<int>(::QDirModel::FileIconRole), 70},
    {sipName_FileNameRole, static_cast<int>(::QDirModel::FileNameRole), 70},
    {sipName_FilePathRole, static_cast<int>(::QDirModel::FilePathRole), 70},
};

PyDoc_STRVAR(doc_QDirModel, "\1QDirModel(nameFilters: Iterable[Optional[str]], filters: Union[QDir.Filters, QDir.Filter], sort: Union[QDir.SortFlags, QDir.SortFlag], parent: Optional[QObject] = None)\n"
"QDirModel(parent: Optional[QObject] = None)");


static pyqt5ClassPluginDef plugin_QDirModel = {
    &::QDirModel::staticMetaObject,
    0,
    SIP_NULLPTR,
    SIP_NULLPTR
};


sipClassTypeDef sipTypeDef_QtWidgets_QDirModel = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_SCC|SIP_TYPE_SUPER_INIT|SIP_TYPE_LIMITED_API|SIP_TYPE_CLASS,
        sipNameNr_QDirModel,
        SIP_NULLPTR,
        &plugin_QDirModel,
    },
    {
        sipNameNr_QDirModel,
        {0, 0, 1},
        37, methods_QDirModel,
        3, enummembers_QDirModel,
        0, SIP_NULLPTR,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_QDirModel,
    -1,
    -1,
    supers_QDirModel,
    SIP_NULLPTR,
    init_type_QDirModel,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_QDirModel,
    SIP_NULLPTR,
    array_QDirModel,
    SIP_NULLPTR,
    release_QDirModel,
    cast_QDirModel,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    array_delete_QDirModel,
    sizeof (::QDirModel),
};
