/*
 * Module code.
 *
 * Generated by SIP 4.16.8
 *
 * Copyright (c) 2015 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 "sipAPIQtWebChannel.h"

#line 28 "sip/QtCore/qobject.sip"
#include <qobject.h>
#line 29 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 24 "sip/QtCore/qjsonobject.sip"
#include <qjsonobject.h>
#line 32 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"

/* Define the strings used by this module. */
const char sipStrings_QtWebChannel[] = {
    'Q', 'W', 'e', 'b', 'C', 'h', 'a', 'n', 'n', 'e', 'l', 'A', 'b', 's', 't', 'r', 'a', 'c', 't', 'T', 'r', 'a', 'n', 's', 'p', 'o', 'r', 't', 0,
    'Q', 'H', 'a', 's', 'h', '<', 'Q', 'S', 't', 'r', 'i', 'n', 'g', ',', 'Q', 'O', 'b', 'j', 'e', 'c', 't', '*', '>', 0,
    'b', 'l', 'o', 'c', 'k', 'U', 'p', 'd', 'a', 't', 'e', 's', 'C', 'h', 'a', 'n', 'g', 'e', 'd', 0,
    'P', 'y', 'Q', 't', '5', '.', 'Q', 't', 'W', 'e', 'b', 'C', 'h', 'a', 'n', 'n', 'e', 'l', 0,
    'r', 'e', 'g', 'i', 's', 't', 'e', 'r', 'e', 'd', 'O', 'b', 'j', 'e', 'c', 't', 's', 0,
    'i', 's', 'S', 'i', 'g', 'n', 'a', 'l', 'C', 'o', 'n', 'n', 'e', 'c', 't', 'e', 'd', 0,
    's', 'e', 'n', 'd', 'e', 'r', 'S', 'i', 'g', 'n', 'a', 'l', 'I', 'n', 'd', 'e', 'x', 0,
    'd', 'e', 'r', 'e', 'g', 'i', 's', 't', 'e', 'r', 'O', 'b', 'j', 'e', 'c', 't', 0,
    'd', 'i', 's', 'c', 'o', 'n', 'n', 'e', 'c', 't', 'N', 'o', 't', 'i', 'f', 'y', 0,
    'm', 'e', 's', 's', 'a', 'g', 'e', 'R', 'e', 'c', 'e', 'i', 'v', 'e', 'd', 0,
    's', 'e', 't', 'B', 'l', 'o', 'c', 'k', 'U', 'p', 'd', 'a', 't', 'e', 's', 0,
    'r', 'e', 'g', 'i', 's', 't', 'e', 'r', 'O', 'b', 'j', 'e', 'c', 't', 's', 0,
    'd', 'i', 's', 'c', 'o', 'n', 'n', 'e', 'c', 't', 'F', 'r', 'o', 'm', 0,
    'b', 'l', 'o', 'c', 'k', 'U', 'p', 'd', 'a', 't', 'e', 's', 0,
    's', 'e', 'n', 'd', 'M', 'e', 's', 's', 'a', 'g', 'e', 0,
    'Q', 'W', 'e', 'b', 'C', 'h', 'a', 'n', 'n', 'e', 'l', 0,
    'c', 'u', 's', 't', 'o', 'm', 'E', 'v', 'e', 'n', 't', 0,
    'e', 'v', 'e', 'n', 't', 'F', 'i', 'l', 't', 'e', 'r', 0,
    'c', 'h', 'i', 'l', 'd', 'E', 'v', 'e', 'n', 't', 0,
    't', 'i', 'm', 'e', 'r', 'E', 'v', 'e', 'n', 't', 0,
    'c', 'o', 'n', 'n', 'e', 'c', 't', 'T', 'o', 0,
    'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', 0,
    'r', 'e', 'c', 'e', 'i', 'v', 'e', 'r', 's', 0,
    'p', 'r', 'e', 'c', 'i', 's', 'i', 'o', 'n', 0,
    'n', 'a', 'm', 'e', 'T', 'y', 'p', 'e', 0,
    'f', 'i', 'l', 't', 'e', 'r', 's', 0,
    'e', 'n', 'a', 'b', 'l', 'e', 'd', 0,
    'o', 'p', 't', 'i', 'o', 'n', 's', 0,
    'p', 'r', 'o', 'p', 'e', 'r', 0,
    's', 'e', 'n', 'd', 'e', 'r', 0,
    'v', 'a', 'l', 'u', 'e', '9', 0,
    'v', 'a', 'l', 'u', 'e', '8', 0,
    'v', 'a', 'l', 'u', 'e', '7', 0,
    'v', 'a', 'l', 'u', 'e', '6', 0,
    'v', 'a', 'l', 'u', 'e', '5', 0,
    'v', 'a', 'l', 'u', 'e', '4', 0,
    'v', 'a', 'l', 'u', 'e', '3', 0,
    'v', 'a', 'l', 'u', 'e', '2', 0,
    'v', 'a', 'l', 'u', 'e', '1', 0,
    'v', 'a', 'l', 'u', 'e', '0', 0,
    's', 'y', 'm', 'b', 'o', 'l', 0,
    's', 'u', 'f', 'f', 'i', 'x', 0,
    'p', 'r', 'e', 'f', 'i', 'x', 0,
    'l', 'o', 'c', 'a', 'l', 'e', 0,
    'f', 'o', 'r', 'm', 'a', 't', 0,
    'o', 'b', 'j', 'e', 'c', 't', 0,
    'p', 'a', 'r', 'e', 'n', 't', 0,
    'e', 'v', 'e', 'n', 't', 0,
    'm', 's', 'e', 'c', 's', 0,
    'm', 'o', 'd', 'e', 0,
    'n', 'a', 'm', 'e', 0,
    'b', 'a', 's', 'e', 0,
    'f', 'r', 'o', 'm', 0,
    's', 'o', 'r', 't', 0,
};

void sipVH_QtWebChannel_0(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const QJsonObject& a0)
{
    PyObject *sipResObj = sipCallMethod(0, sipMethod, "N",new QJsonObject(a0),sipType_QJsonObject,NULL);

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "Z");
}


/* Convert to a sub-class if possible. */
extern "C" {static const sipTypeDef *sipSubClass_QWebChannel(void **);}
static const sipTypeDef *sipSubClass_QWebChannel(void **sipCppRet)
{
    QObject *sipCpp = reinterpret_cast<QObject *>(*sipCppRet);
    const sipTypeDef *sipType;

#line 32 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/sip/QtWebChannel/qwebchannel.sip"
    static struct class_graph {
        const char *name;
        sipTypeDef **type;
        int yes, no;
    } graph[] = {
        {sipName_QWebChannelAbstractTransport, &sipType_QWebChannelAbstractTransport, -1, 1},
        {sipName_QWebChannel, &sipType_QWebChannel, -1, -1},
    };
    
    int i = 0;
    
    sipType = NULL;
    
    do
    {
        struct class_graph *cg = &graph[i];
    
        if (cg->name != NULL && sipCpp->inherits(cg->name))
        {
            sipType = *cg->type;
            i = cg->yes;
        }
        else
            i = cg->no;
    }
    while (i >= 0);
#line 134 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"

    return sipType;
}


/*
 * This defines each type in this module.
 */
static sipTypeDef *typesTable[] = {
    &sipTypeDef_QtWebChannel_QHash_0100QString_0101QObject.mtd_base,
    &sipTypeDef_QtWebChannel_QWebChannel.super.ctd_base,
    &sipTypeDef_QtWebChannel_QWebChannelAbstractTransport.super.ctd_base,
};


/*
 * This defines the virtual handlers that this module implements and can be
 * used by other modules.
 */
static sipVirtHandlerFunc virtHandlersTable[] = {
    (sipVirtHandlerFunc)sipVH_QtWebChannel_0,
};


/* This defines the modules that this module needs to import. */
static sipImportedModuleDef importsTable[] = {
    {"PyQt5.QtCore", 1, NULL},
    {NULL, -1, NULL}
};


/* This defines the class sub-convertors that this module defines. */
static sipSubClassConvertorDef convertorsTable[] = {
    {sipSubClass_QWebChannel, {162, 0, 0}, NULL},
    {NULL, {0, 0, 0}, NULL}
};


/* This defines this module. */
sipExportedModuleDef sipModuleAPI_QtWebChannel = {
    0,
    SIP_API_MINOR_NR,
    sipNameNr_PyQt5_QtWebChannel,
    0,
    -1,
    sipStrings_QtWebChannel,
    importsTable,
    NULL,
    3,
    typesTable,
    NULL,
    0,
    NULL,
    0,
    NULL,
    virtHandlersTable,
    NULL,
    convertorsTable,
    {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL},
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL
};


/* The SIP API and the APIs of any imported modules. */
const sipAPIDef *sipAPI_QtWebChannel;
const sipExportedModuleDef *sipModuleAPI_QtWebChannel_QtCore;

sip_qt_metaobject_func sip_QtWebChannel_qt_metaobject;
sip_qt_metacall_func sip_QtWebChannel_qt_metacall;
sip_qt_metacast_func sip_QtWebChannel_qt_metacast;


/* The Python module initialisation function. */
#if PY_MAJOR_VERSION >= 3
#define SIP_MODULE_ENTRY        PyInit_QtWebChannel
#define SIP_MODULE_TYPE         PyObject *
#define SIP_MODULE_DISCARD(r)   Py_DECREF(r)
#define SIP_MODULE_RETURN(r)    return (r)
#else
#define SIP_MODULE_ENTRY        initQtWebChannel
#define SIP_MODULE_TYPE         void
#define SIP_MODULE_DISCARD(r)
#define SIP_MODULE_RETURN(r)    return
#endif

#if defined(SIP_STATIC_MODULE)
extern "C" SIP_MODULE_TYPE SIP_MODULE_ENTRY()
#else
PyMODINIT_FUNC SIP_MODULE_ENTRY()
#endif
{
    static PyMethodDef sip_methods[] = {
        {0, 0, 0, 0}
    };

#if PY_MAJOR_VERSION >= 3
    static PyModuleDef sip_module_def = {
        PyModuleDef_HEAD_INIT,
        "PyQt5.QtWebChannel",
        NULL,
        -1,
        sip_methods,
        NULL,
        NULL,
        NULL,
        NULL
    };
#endif

    PyObject *sipModule, *sipModuleDict;
    PyObject *sip_sipmod, *sip_capiobj;

    /* Initialise the module and get it's dictionary. */
#if PY_MAJOR_VERSION >= 3
    sipModule = PyModule_Create(&sip_module_def);
#elif PY_VERSION_HEX >= 0x02050000
    sipModule = Py_InitModule(sipName_PyQt5_QtWebChannel, sip_methods);
#else
    sipModule = Py_InitModule(const_cast<char *>(sipName_PyQt5_QtWebChannel), sip_methods);
#endif

    if (sipModule == NULL)
        SIP_MODULE_RETURN(NULL);

    sipModuleDict = PyModule_GetDict(sipModule);

    /* Get the SIP module's API. */
#if PY_VERSION_HEX >= 0x02050000
    sip_sipmod = PyImport_ImportModule(SIP_MODULE_NAME);
#else
    sip_sipmod = PyImport_ImportModule(const_cast<char *>(SIP_MODULE_NAME));
#endif

    if (sip_sipmod == NULL)
    {
        SIP_MODULE_DISCARD(sipModule);
        SIP_MODULE_RETURN(NULL);
    }

    sip_capiobj = PyDict_GetItemString(PyModule_GetDict(sip_sipmod), "_C_API");
    Py_DECREF(sip_sipmod);

#if defined(SIP_USE_PYCAPSULE)
    if (sip_capiobj == NULL || !PyCapsule_CheckExact(sip_capiobj))
#else
    if (sip_capiobj == NULL || !PyCObject_Check(sip_capiobj))
#endif
    {
        SIP_MODULE_DISCARD(sipModule);
        SIP_MODULE_RETURN(NULL);
    }

#if defined(SIP_USE_PYCAPSULE)
    sipAPI_QtWebChannel = reinterpret_cast<const sipAPIDef *>(PyCapsule_GetPointer(sip_capiobj, SIP_MODULE_NAME "._C_API"));
#else
    sipAPI_QtWebChannel = reinterpret_cast<const sipAPIDef *>(PyCObject_AsVoidPtr(sip_capiobj));
#endif

#if defined(SIP_USE_PYCAPSULE)
    if (sipAPI_QtWebChannel == NULL)
    {
        SIP_MODULE_DISCARD(sipModule);
        SIP_MODULE_RETURN(NULL);
    }
#endif

    /* Export the module and publish it's API. */
    if (sipExportModule(&sipModuleAPI_QtWebChannel,SIP_API_MAJOR_NR,SIP_API_MINOR_NR,0) < 0)
    {
        SIP_MODULE_DISCARD(sipModule);
        SIP_MODULE_RETURN(0);
    }

    sip_QtWebChannel_qt_metaobject = (sip_qt_metaobject_func)sipImportSymbol("qtcore_qt_metaobject");
    sip_QtWebChannel_qt_metacall = (sip_qt_metacall_func)sipImportSymbol("qtcore_qt_metacall");
    sip_QtWebChannel_qt_metacast = (sip_qt_metacast_func)sipImportSymbol("qtcore_qt_metacast");

    if (!sip_QtWebChannel_qt_metacast)
        Py_FatalError("Unable to import qtcore_qt_metacast");

    /* Initialise the module now all its dependencies have been set up. */
    if (sipInitModule(&sipModuleAPI_QtWebChannel,sipModuleDict) < 0)
    {
        SIP_MODULE_DISCARD(sipModule);
        SIP_MODULE_RETURN(0);
    }

    /* Get the APIs of the modules that this one is dependent on. */
    sipModuleAPI_QtWebChannel_QtCore = sipModuleAPI_QtWebChannel.em_imports[0].im_module;

    SIP_MODULE_RETURN(sipModule);
}

#line 149 "sip/QtCore/qpycore_qhash.sip"
#include <qhash.h>
#line 337 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"

#line 28 "sip/QtCore/qobject.sip"
#include <qobject.h>
#line 341 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 27 "sip/QtCore/qstring.sip"
#include <qstring.h>
#line 344 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"


extern "C" {static void assign_QHash_0100QString_0101QObject(void *, SIP_SSIZE_T, const void *);}
static void assign_QHash_0100QString_0101QObject(void *sipDst, SIP_SSIZE_T sipDstIdx, const void *sipSrc)
{
    reinterpret_cast<QHash<QString,QObject*> *>(sipDst)[sipDstIdx] = *reinterpret_cast<const QHash<QString,QObject*> *>(sipSrc);
}


extern "C" {static void *array_QHash_0100QString_0101QObject(SIP_SSIZE_T);}
static void *array_QHash_0100QString_0101QObject(SIP_SSIZE_T sipNrElem)
{
    return new QHash<QString,QObject*>[sipNrElem];
}


extern "C" {static void *copy_QHash_0100QString_0101QObject(const void *, SIP_SSIZE_T);}
static void *copy_QHash_0100QString_0101QObject(const void *sipSrc, SIP_SSIZE_T sipSrcIdx)
{
    return new QHash<QString,QObject*>(reinterpret_cast<const QHash<QString,QObject*> *>(sipSrc)[sipSrcIdx]);
}


/* Call the mapped type's destructor. */
extern "C" {static void release_QHash_0100QString_0101QObject(void *, int);}
static void release_QHash_0100QString_0101QObject(void *ptr, int)
{
    delete reinterpret_cast<QHash<QString,QObject*> *>(ptr);
}



extern "C" {static int convertTo_QHash_0100QString_0101QObject(PyObject *, void **, int *, PyObject *);}
static int convertTo_QHash_0100QString_0101QObject(PyObject *sipPy,void **sipCppPtrV,int *sipIsErr,PyObject *sipTransferObj)
{
    QHash<QString,QObject*> **sipCppPtr = reinterpret_cast<QHash<QString,QObject*> **>(sipCppPtrV);

#line 206 "sip/QtCore/qpycore_qhash.sip"
    if (!sipIsErr)
        return PyDict_Check(sipPy);

    QHash<QString, QObject *> *qh = new QHash<QString, QObject *>;

    SIP_SSIZE_T pos = 0;
    PyObject *kobj, *vobj;
 
    while (PyDict_Next(sipPy, &pos, &kobj, &vobj))
    {
        int kstate;
        QString *k = reinterpret_cast<QString *>(
                sipForceConvertToType(kobj, sipType_QString, sipTransferObj,
                        SIP_NOT_NONE, &kstate, sipIsErr));

        if (*sipIsErr)
        {
            PyErr_Format(PyExc_TypeError,
                    "a key has type '%s' but 'QString' is expected",
                    Py_TYPE(kobj)->tp_name);

            delete qh;

            return 0;
        }

        QObject *v = reinterpret_cast<QObject *>(
                sipForceConvertToType(vobj, sipType_QObject, sipTransferObj, 0,
                        0, sipIsErr));

        if (*sipIsErr)
        {
            PyErr_Format(PyExc_TypeError,
                    "a value has type '%s' but 'QObject' is expected",
                    Py_TYPE(vobj)->tp_name);

            sipReleaseType(k, sipType_QString, kstate);
            delete qh;

            return 0;
        }

        qh->insert(*k, v);

        sipReleaseType(k, sipType_QString, kstate);
    }
 
    *sipCppPtr = qh;
 
    return sipGetState(sipTransferObj);
#line 433 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
}


extern "C" {static PyObject *convertFrom_QHash_0100QString_0101QObject(void *, PyObject *);}
static PyObject *convertFrom_QHash_0100QString_0101QObject(void *sipCppV, PyObject *sipTransferObj)
{
   QHash<QString,QObject*> *sipCpp = reinterpret_cast<QHash<QString,QObject*> *>(sipCppV);

#line 153 "sip/QtCore/qpycore_qhash.sip"
    PyObject *d = PyDict_New();

    if (!d)
        return 0;

    QHash<QString, QObject *>::const_iterator it = sipCpp->constBegin();
    QHash<QString, QObject *>::const_iterator end = sipCpp->constEnd();

    while (it != end)
    {
        QString *k = new QString(it.key());
        PyObject *kobj = sipConvertFromNewType(k, sipType_QString,
                sipTransferObj);

        if (!kobj)
        {
            delete k;
            Py_DECREF(d);

            return 0;
        }

        QObject *v = it.value();
        PyObject *vobj = sipConvertFromNewType(v, sipType_QObject,
                sipTransferObj);

        if (!vobj)
        {
            Py_DECREF(kobj);
            Py_DECREF(d);

            return 0;
        }

        int rc = PyDict_SetItem(d, kobj, vobj);

        Py_DECREF(vobj);
        Py_DECREF(kobj);

        if (rc < 0)
        {
            Py_DECREF(d);

            return 0;
        }

        ++it;
    }

    return d;
#line 493 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
}


sipMappedTypeDef sipTypeDef_QtWebChannel_QHash_0100QString_0101QObject = {
    {
        -1,
        0,
        0,
        SIP_TYPE_MAPPED,
        sipNameNr_29,
        {0}
    },
    {
        -1,
        {0, 0, 1},
        0, 0,
        0, 0,
        0, 0,
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
    },
    assign_QHash_0100QString_0101QObject,
    array_QHash_0100QString_0101QObject,
    copy_QHash_0100QString_0101QObject,
    release_QHash_0100QString_0101QObject,
    convertTo_QHash_0100QString_0101QObject,
    convertFrom_QHash_0100QString_0101QObject
};

#line 28 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/sip/QtWebChannel/qwebchannelabstracttransport.sip"
#include <qwebchannelabstracttransport.h>
#line 524 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"

#line 28 "sip/QtCore/qobject.sip"
#include <qobject.h>
#line 528 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 24 "sip/QtCore/qjsonobject.sip"
#include <qjsonobject.h>
#line 531 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 30 "sip/QtCore/qmetaobject.sip"
#include <qmetaobject.h>
#line 534 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 26 "sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 537 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 241 "sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 540 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 229 "sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 543 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 27 "sip/QtCore/qstring.sip"
#include <qstring.h>
#line 546 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 30 "sip/QtCore/qvariant.sip"
#include <qvariant.h>
#line 549 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 36 "sip/QtCore/qpycore_qlist.sip"
#include <qlist.h>
#line 552 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 32 "sip/QtCore/qbytearray.sip"
#include <qbytearray.h>
#line 555 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 144 "sip/QtCore/qpycore_qlist.sip"
#include <qlist.h>
#line 558 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 30 "sip/QtCore/qnamespace.sip"
#include <qnamespace.h>
#line 561 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 26 "sip/QtCore/qthread.sip"
#include <qthread.h>
#line 564 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 30 "sip/QtCore/qnamespace.sip"
#include <qnamespace.h>
#line 567 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 30 "sip/QtCore/qregexp.sip"
#include <qregexp.h>
#line 570 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 30 "sip/QtCore/qregularexpression.sip"
#include <qregularexpression.h>
#line 573 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 26 "sip/QtCore/qobjectdefs.sip"
#include <qobjectdefs.h>
#line 576 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"


class sipQWebChannelAbstractTransport : public QWebChannelAbstractTransport
{
public:
    sipQWebChannelAbstractTransport(QObject*);
    virtual ~sipQWebChannelAbstractTransport();

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

    /*
     * There is a public method for every protected method visible from
     * this class.
     */
    QObject* sipProtect_sender() const;
    int sipProtect_receivers(const char*) const;
    void sipProtectVirt_timerEvent(bool,QTimerEvent*);
    void sipProtectVirt_childEvent(bool,QChildEvent*);
    void sipProtectVirt_customEvent(bool,QEvent*);
    void sipProtectVirt_connectNotify(bool,const QMetaMethod&);
    void sipProtectVirt_disconnectNotify(bool,const QMetaMethod&);
    int sipProtect_senderSignalIndex() const;
    bool sipProtect_isSignalConnected(const QMetaMethod&) const;

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    void disconnectNotify(const QMetaMethod&);
    void connectNotify(const QMetaMethod&);
    void customEvent(QEvent*);
    void childEvent(QChildEvent*);
    void timerEvent(QTimerEvent*);
    bool eventFilter(QObject*,QEvent*);
    bool event(QEvent*);
    void sendMessage(const QJsonObject&);

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[8];
};

sipQWebChannelAbstractTransport::sipQWebChannelAbstractTransport(QObject*a0): QWebChannelAbstractTransport(a0), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipQWebChannelAbstractTransport::~sipQWebChannelAbstractTransport()
{
    sipCommonDtor(sipPySelf);
}

const QMetaObject *sipQWebChannelAbstractTransport::metaObject() const
{
    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : sip_QtWebChannel_qt_metaobject(sipPySelf,sipType_QWebChannelAbstractTransport);
}

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

    if (_id >= 0)
        _id = sip_QtWebChannel_qt_metacall(sipPySelf,sipType_QWebChannelAbstractTransport,_c,_id,_a);

    return _id;
}

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

    return (sip_QtWebChannel_qt_metacast(sipPySelf, sipType_QWebChannelAbstractTransport, _clname, &sipCpp) ? sipCpp : QWebChannelAbstractTransport::qt_metacast(_clname));
}

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

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

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

    typedef void (*sipVH_QtCore_46)(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const QMetaMethod&);

    ((sipVH_QtCore_46)(sipModuleAPI_QtWebChannel_QtCore->em_virthandlers[46]))(sipGILState, sipModuleAPI_QtWebChannel_QtCore->em_virterrorhandlers[0], sipPySelf, sipMeth, a0);
}

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

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

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

    typedef void (*sipVH_QtCore_46)(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const QMetaMethod&);

    ((sipVH_QtCore_46)(sipModuleAPI_QtWebChannel_QtCore->em_virthandlers[46]))(sipGILState, sipModuleAPI_QtWebChannel_QtCore->em_virterrorhandlers[0], sipPySelf, sipMeth, a0);
}

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

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

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

    typedef void (*sipVH_QtCore_25)(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, QEvent*);

    ((sipVH_QtCore_25)(sipModuleAPI_QtWebChannel_QtCore->em_virthandlers[25]))(sipGILState, sipModuleAPI_QtWebChannel_QtCore->em_virterrorhandlers[0], sipPySelf, sipMeth, a0);
}

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

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

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

    typedef void (*sipVH_QtCore_47)(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, QChildEvent*);

    ((sipVH_QtCore_47)(sipModuleAPI_QtWebChannel_QtCore->em_virthandlers[47]))(sipGILState, sipModuleAPI_QtWebChannel_QtCore->em_virterrorhandlers[0], sipPySelf, sipMeth, a0);
}

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

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

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

    typedef void (*sipVH_QtCore_9)(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, QTimerEvent*);

    ((sipVH_QtCore_9)(sipModuleAPI_QtWebChannel_QtCore->em_virthandlers[9]))(sipGILState, sipModuleAPI_QtWebChannel_QtCore->em_virterrorhandlers[0], sipPySelf, sipMeth, a0);
}

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

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

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

    typedef bool (*sipVH_QtCore_26)(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, QObject*,QEvent*);

    return ((sipVH_QtCore_26)(sipModuleAPI_QtWebChannel_QtCore->em_virthandlers[26]))(sipGILState, sipModuleAPI_QtWebChannel_QtCore->em_virterrorhandlers[0], sipPySelf, sipMeth, a0, a1);
}

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

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

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

    typedef bool (*sipVH_QtCore_5)(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, QEvent*);

    return ((sipVH_QtCore_5)(sipModuleAPI_QtWebChannel_QtCore->em_virthandlers[5]))(sipGILState, sipModuleAPI_QtWebChannel_QtCore->em_virterrorhandlers[0], sipPySelf, sipMeth, a0);
}

void sipQWebChannelAbstractTransport::sendMessage(const QJsonObject& a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[7],sipPySelf,sipName_QWebChannelAbstractTransport,sipName_sendMessage);

    if (!sipMeth)
        return;

    extern void sipVH_QtWebChannel_0(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const QJsonObject&);

    sipVH_QtWebChannel_0(sipGILState, sipModuleAPI_QtWebChannel_QtCore->em_virterrorhandlers[0], sipPySelf, sipMeth, a0);
}

QObject* sipQWebChannelAbstractTransport::sipProtect_sender() const
{
    return QObject::sender();
}

int sipQWebChannelAbstractTransport::sipProtect_receivers(const char*a0) const
{
    return QObject::receivers(a0);
}

void sipQWebChannelAbstractTransport::sipProtectVirt_timerEvent(bool sipSelfWasArg,QTimerEvent*a0)
{
    (sipSelfWasArg ? QObject::timerEvent(a0) : timerEvent(a0));
}

void sipQWebChannelAbstractTransport::sipProtectVirt_childEvent(bool sipSelfWasArg,QChildEvent*a0)
{
    (sipSelfWasArg ? QObject::childEvent(a0) : childEvent(a0));
}

void sipQWebChannelAbstractTransport::sipProtectVirt_customEvent(bool sipSelfWasArg,QEvent*a0)
{
    (sipSelfWasArg ? QObject::customEvent(a0) : customEvent(a0));
}

void sipQWebChannelAbstractTransport::sipProtectVirt_connectNotify(bool sipSelfWasArg,const QMetaMethod& a0)
{
    (sipSelfWasArg ? QObject::connectNotify(a0) : connectNotify(a0));
}

void sipQWebChannelAbstractTransport::sipProtectVirt_disconnectNotify(bool sipSelfWasArg,const QMetaMethod& a0)
{
    (sipSelfWasArg ? QObject::disconnectNotify(a0) : disconnectNotify(a0));
}

int sipQWebChannelAbstractTransport::sipProtect_senderSignalIndex() const
{
    return QObject::senderSignalIndex();
}

bool sipQWebChannelAbstractTransport::sipProtect_isSignalConnected(const QMetaMethod& a0) const
{
    return QObject::isSignalConnected(a0);
}


PyDoc_STRVAR(doc_QWebChannelAbstractTransport_sender, "QWebChannelAbstractTransport.sender() -> QObject");

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

    {
        const sipQWebChannelAbstractTransport *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "B", &sipSelf, sipType_QWebChannelAbstractTransport, &sipCpp))
        {
            QObject*sipRes = 0;

#line 546 "sip/QtCore/qobject.sip"
        // sender() must be called without the GIL to avoid possible deadlocks between
        // the GIL and Qt's internal thread data mutex.
        
        Py_BEGIN_ALLOW_THREADS
        
        #if defined(SIP_PROTECTED_IS_PUBLIC)
        sipRes = sipCpp->sender();
        #else
        sipRes = sipCpp->sipProtect_sender();
        #endif
        
        Py_END_ALLOW_THREADS
        
        if (!sipRes)
        {
            typedef QObject *(*qtcore_qobject_sender_t)();
        
            static qtcore_qobject_sender_t qtcore_qobject_sender = 0;
        
            if (!qtcore_qobject_sender)
                qtcore_qobject_sender = (qtcore_qobject_sender_t)sipImportSymbol("qtcore_qobject_sender");
        
            if (qtcore_qobject_sender)
                sipRes = qtcore_qobject_sender();
        }
#line 880 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannelAbstractTransport, sipName_sender, doc_QWebChannelAbstractTransport_sender);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannelAbstractTransport_receivers, "QWebChannelAbstractTransport.receivers(signal) -> int");

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

    {
        PyObject * a0;
        const sipQWebChannelAbstractTransport *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BP0", &sipSelf, sipType_QWebChannelAbstractTransport, &sipCpp, &a0))
        {
            int sipRes = 0;
            sipErrorState sipError = sipErrorNone;

#line 575 "sip/QtCore/qobject.sip"
        // We need to handle the signal object.  Import the helper if it hasn't already
        // been done.
        typedef sipErrorState (*pyqt5_get_signal_signature_t)(PyObject *, const QObject *, const QByteArray &);
        
        static pyqt5_get_signal_signature_t pyqt5_get_signal_signature = 0;
        
        if (!pyqt5_get_signal_signature)
            pyqt5_get_signal_signature = (pyqt5_get_signal_signature_t)sipImportSymbol("pyqt5_get_signal_signature");
        
        if (pyqt5_get_signal_signature)
        {
            QByteArray signal_signature;
            
        #if defined(SIP_PROTECTED_IS_PUBLIC)
            if ((sipError = pyqt5_get_signal_signature(a0, sipCpp, signal_signature)) == sipErrorNone)
            {
                sipRes = sipCpp->receivers(signal_signature.constData());
            }
        #else
            if ((sipError = pyqt5_get_signal_signature(a0, static_cast<const QObject *>(sipCpp), signal_signature)) == sipErrorNone)
            {
                sipRes = sipCpp->sipProtect_receivers(signal_signature.constData());
            }
        #endif
            else if (sipError == sipErrorContinue)
            {
                sipError = sipBadCallableArg(0, a0);
            }
        }
#line 939 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"

            if (sipError == sipErrorFail)
                return 0;

            if (sipError == sipErrorNone)
            {
            return SIPLong_FromLong(sipRes);
            }

            sipAddException(sipError, &sipParseErr);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannelAbstractTransport, sipName_receivers, doc_QWebChannelAbstractTransport_receivers);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannelAbstractTransport_timerEvent, "QWebChannelAbstractTransport.timerEvent(QTimerEvent)");

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

    {
        QTimerEvent* a0;
        sipQWebChannelAbstractTransport *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ8", &sipSelf, sipType_QWebChannelAbstractTransport, &sipCpp, sipType_QTimerEvent, &a0))
        {
            sipCpp->sipProtectVirt_timerEvent(sipSelfWasArg,a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannelAbstractTransport, sipName_timerEvent, doc_QWebChannelAbstractTransport_timerEvent);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannelAbstractTransport_childEvent, "QWebChannelAbstractTransport.childEvent(QChildEvent)");

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

    {
        QChildEvent* a0;
        sipQWebChannelAbstractTransport *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ8", &sipSelf, sipType_QWebChannelAbstractTransport, &sipCpp, sipType_QChildEvent, &a0))
        {
            sipCpp->sipProtectVirt_childEvent(sipSelfWasArg,a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannelAbstractTransport, sipName_childEvent, doc_QWebChannelAbstractTransport_childEvent);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannelAbstractTransport_customEvent, "QWebChannelAbstractTransport.customEvent(QEvent)");

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

    {
        QEvent* a0;
        sipQWebChannelAbstractTransport *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ8", &sipSelf, sipType_QWebChannelAbstractTransport, &sipCpp, sipType_QEvent, &a0))
        {
            sipCpp->sipProtectVirt_customEvent(sipSelfWasArg,a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannelAbstractTransport, sipName_customEvent, doc_QWebChannelAbstractTransport_customEvent);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannelAbstractTransport_connectNotify, "QWebChannelAbstractTransport.connectNotify(QMetaMethod)");

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

    {
        const QMetaMethod* a0;
        sipQWebChannelAbstractTransport *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ9", &sipSelf, sipType_QWebChannelAbstractTransport, &sipCpp, sipType_QMetaMethod, &a0))
        {
            sipCpp->sipProtectVirt_connectNotify(sipSelfWasArg,*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannelAbstractTransport, sipName_connectNotify, doc_QWebChannelAbstractTransport_connectNotify);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannelAbstractTransport_disconnectNotify, "QWebChannelAbstractTransport.disconnectNotify(QMetaMethod)");

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

    {
        const QMetaMethod* a0;
        sipQWebChannelAbstractTransport *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ9", &sipSelf, sipType_QWebChannelAbstractTransport, &sipCpp, sipType_QMetaMethod, &a0))
        {
            sipCpp->sipProtectVirt_disconnectNotify(sipSelfWasArg,*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannelAbstractTransport, sipName_disconnectNotify, doc_QWebChannelAbstractTransport_disconnectNotify);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannelAbstractTransport_senderSignalIndex, "QWebChannelAbstractTransport.senderSignalIndex() -> int");

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

    {
        const sipQWebChannelAbstractTransport *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "B", &sipSelf, sipType_QWebChannelAbstractTransport, &sipCpp))
        {
            int sipRes;

            sipRes = sipCpp->sipProtect_senderSignalIndex();

            return SIPLong_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannelAbstractTransport, sipName_senderSignalIndex, doc_QWebChannelAbstractTransport_senderSignalIndex);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannelAbstractTransport_isSignalConnected, "QWebChannelAbstractTransport.isSignalConnected(QMetaMethod) -> bool");

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

    {
        const QMetaMethod* a0;
        const sipQWebChannelAbstractTransport *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ9", &sipSelf, sipType_QWebChannelAbstractTransport, &sipCpp, sipType_QMetaMethod, &a0))
        {
            bool sipRes;

            sipRes = sipCpp->sipProtect_isSignalConnected(*a0);

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannelAbstractTransport, sipName_isSignalConnected, doc_QWebChannelAbstractTransport_isSignalConnected);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannelAbstractTransport_sendMessage, "QWebChannelAbstractTransport.sendMessage(dict-of-str-QJsonValue)");

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

    {
        const QJsonObject* a0;
        int a0State = 0;
        QWebChannelAbstractTransport *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_QWebChannelAbstractTransport, &sipCpp, sipType_QJsonObject,&a0, &a0State))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_QWebChannelAbstractTransport, sipName_sendMessage);
                return NULL;
            }

            sipCpp->sendMessage(*a0);
            sipReleaseType(const_cast<QJsonObject *>(a0),sipType_QJsonObject,a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannelAbstractTransport, sipName_sendMessage, doc_QWebChannelAbstractTransport_sendMessage);

    return NULL;
}


/* Cast a pointer to a type somewhere in its superclass hierarchy. */
extern "C" {static void *cast_QWebChannelAbstractTransport(void *, const sipTypeDef *);}
static void *cast_QWebChannelAbstractTransport(void *ptr, const sipTypeDef *targetType)
{
    void *res;

    if (targetType == sipType_QWebChannelAbstractTransport)
        return ptr;

    if ((res = ((const sipClassTypeDef *)sipType_QObject)->ctd_cast((QObject *)(QWebChannelAbstractTransport *)ptr,targetType)) != NULL)
        return res;

    return NULL;
}


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

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


extern "C" {static void dealloc_QWebChannelAbstractTransport(sipSimpleWrapper *);}
static void dealloc_QWebChannelAbstractTransport(sipSimpleWrapper *sipSelf)
{
    if (sipIsDerived(sipSelf))
        reinterpret_cast<sipQWebChannelAbstractTransport *>(sipGetAddress(sipSelf))->sipPySelf = NULL;

    if (sipIsPyOwned(sipSelf))
    {
        release_QWebChannelAbstractTransport(sipGetAddress(sipSelf),sipSelf->flags);
    }
}


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

    {
        QObject* a0 = 0;

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

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return NULL;
}


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


static PyMethodDef methods_QWebChannelAbstractTransport[] = {
    {SIP_MLNAME_CAST(sipName_childEvent), (PyCFunction)meth_QWebChannelAbstractTransport_childEvent, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_connectNotify), (PyCFunction)meth_QWebChannelAbstractTransport_connectNotify, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_customEvent), (PyCFunction)meth_QWebChannelAbstractTransport_customEvent, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_disconnectNotify), (PyCFunction)meth_QWebChannelAbstractTransport_disconnectNotify, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_isSignalConnected), (PyCFunction)meth_QWebChannelAbstractTransport_isSignalConnected, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_receivers), (PyCFunction)meth_QWebChannelAbstractTransport_receivers, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_sendMessage), meth_QWebChannelAbstractTransport_sendMessage, METH_VARARGS, SIP_MLDOC_CAST(doc_QWebChannelAbstractTransport_sendMessage)},
    {SIP_MLNAME_CAST(sipName_sender), (PyCFunction)meth_QWebChannelAbstractTransport_sender, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_senderSignalIndex), (PyCFunction)meth_QWebChannelAbstractTransport_senderSignalIndex, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_timerEvent), (PyCFunction)meth_QWebChannelAbstractTransport_timerEvent, METH_VARARGS|METH_KEYWORDS, NULL}
};


/* Define this type's signals. */
static const pyqt5QtSignal signals_QWebChannelAbstractTransport[] = {
    {"messageReceived(QJsonObject,QWebChannelAbstractTransport*)", "\1QWebChannelAbstractTransport.messageReceived[dict-of-str-QJsonValue, QWebChannelAbstractTransport]", 0, 0},
    {0, 0, 0, 0}
};

PyDoc_STRVAR(doc_QWebChannelAbstractTransport, "\1QWebChannelAbstractTransport(QObject parent=None)");


pyqt5ClassTypeDef sipTypeDef_QtWebChannel_QWebChannelAbstractTransport = {
{
    {
        -1,
        0,
        0,
        SIP_TYPE_ABSTRACT|SIP_TYPE_SCC|SIP_TYPE_SUPER_INIT|SIP_TYPE_CLASS,
        sipNameNr_QWebChannelAbstractTransport,
        {0}
    },
    {
        sipNameNr_QWebChannelAbstractTransport,
        {0, 0, 1},
        10, methods_QWebChannelAbstractTransport,
        0, 0,
        0, 0,
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    },
    doc_QWebChannelAbstractTransport,
    -1,
    -1,
    supers_QWebChannelAbstractTransport,
    0,
    init_type_QWebChannelAbstractTransport,
    0,
    0,
#if PY_MAJOR_VERSION >= 3
    0,
    0,
#else
    0,
    0,
    0,
    0,
#endif
    dealloc_QWebChannelAbstractTransport,
    0,
    0,
    0,
    release_QWebChannelAbstractTransport,
    cast_QWebChannelAbstractTransport,
    0,
    0,
    0,
    0,
    0,
    0
},
    &QWebChannelAbstractTransport::staticMetaObject,
    0,
    signals_QWebChannelAbstractTransport,
    0
};

#line 28 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/sip/QtWebChannel/qwebchannel.sip"
#include <qwebchannel.h>
#line 1343 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"

#line 28 "sip/QtCore/qobject.sip"
#include <qobject.h>
#line 1347 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 28 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/sip/QtWebChannel/qwebchannelabstracttransport.sip"
#include <qwebchannelabstracttransport.h>
#line 1350 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 27 "sip/QtCore/qstring.sip"
#include <qstring.h>
#line 1353 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 149 "sip/QtCore/qpycore_qhash.sip"
#include <qhash.h>
#line 1356 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 30 "sip/QtCore/qmetaobject.sip"
#include <qmetaobject.h>
#line 1359 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 26 "sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 1362 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 241 "sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 1365 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 229 "sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 1368 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 30 "sip/QtCore/qvariant.sip"
#include <qvariant.h>
#line 1371 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 36 "sip/QtCore/qpycore_qlist.sip"
#include <qlist.h>
#line 1374 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 32 "sip/QtCore/qbytearray.sip"
#include <qbytearray.h>
#line 1377 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 144 "sip/QtCore/qpycore_qlist.sip"
#include <qlist.h>
#line 1380 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 30 "sip/QtCore/qnamespace.sip"
#include <qnamespace.h>
#line 1383 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 26 "sip/QtCore/qthread.sip"
#include <qthread.h>
#line 1386 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 30 "sip/QtCore/qnamespace.sip"
#include <qnamespace.h>
#line 1389 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 30 "sip/QtCore/qregexp.sip"
#include <qregexp.h>
#line 1392 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 30 "sip/QtCore/qregularexpression.sip"
#include <qregularexpression.h>
#line 1395 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"
#line 26 "sip/QtCore/qobjectdefs.sip"
#include <qobjectdefs.h>
#line 1398 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"


class sipQWebChannel : public QWebChannel
{
public:
    sipQWebChannel(QObject*);
    virtual ~sipQWebChannel();

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

    /*
     * There is a public method for every protected method visible from
     * this class.
     */
    QObject* sipProtect_sender() const;
    int sipProtect_receivers(const char*) const;
    void sipProtectVirt_timerEvent(bool,QTimerEvent*);
    void sipProtectVirt_childEvent(bool,QChildEvent*);
    void sipProtectVirt_customEvent(bool,QEvent*);
    void sipProtectVirt_connectNotify(bool,const QMetaMethod&);
    void sipProtectVirt_disconnectNotify(bool,const QMetaMethod&);
    int sipProtect_senderSignalIndex() const;
    bool sipProtect_isSignalConnected(const QMetaMethod&) const;

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    void disconnectNotify(const QMetaMethod&);
    void connectNotify(const QMetaMethod&);
    void customEvent(QEvent*);
    void childEvent(QChildEvent*);
    void timerEvent(QTimerEvent*);
    bool eventFilter(QObject*,QEvent*);
    bool event(QEvent*);

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[7];
};

sipQWebChannel::sipQWebChannel(QObject*a0): QWebChannel(a0), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipQWebChannel::~sipQWebChannel()
{
    sipCommonDtor(sipPySelf);
}

const QMetaObject *sipQWebChannel::metaObject() const
{
    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : sip_QtWebChannel_qt_metaobject(sipPySelf,sipType_QWebChannel);
}

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

    if (_id >= 0)
        _id = sip_QtWebChannel_qt_metacall(sipPySelf,sipType_QWebChannel,_c,_id,_a);

    return _id;
}

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

    return (sip_QtWebChannel_qt_metacast(sipPySelf, sipType_QWebChannel, _clname, &sipCpp) ? sipCpp : QWebChannel::qt_metacast(_clname));
}

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

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

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

    typedef void (*sipVH_QtCore_46)(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const QMetaMethod&);

    ((sipVH_QtCore_46)(sipModuleAPI_QtWebChannel_QtCore->em_virthandlers[46]))(sipGILState, sipModuleAPI_QtWebChannel_QtCore->em_virterrorhandlers[0], sipPySelf, sipMeth, a0);
}

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

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

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

    typedef void (*sipVH_QtCore_46)(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const QMetaMethod&);

    ((sipVH_QtCore_46)(sipModuleAPI_QtWebChannel_QtCore->em_virthandlers[46]))(sipGILState, sipModuleAPI_QtWebChannel_QtCore->em_virterrorhandlers[0], sipPySelf, sipMeth, a0);
}

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

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

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

    typedef void (*sipVH_QtCore_25)(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, QEvent*);

    ((sipVH_QtCore_25)(sipModuleAPI_QtWebChannel_QtCore->em_virthandlers[25]))(sipGILState, sipModuleAPI_QtWebChannel_QtCore->em_virterrorhandlers[0], sipPySelf, sipMeth, a0);
}

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

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

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

    typedef void (*sipVH_QtCore_47)(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, QChildEvent*);

    ((sipVH_QtCore_47)(sipModuleAPI_QtWebChannel_QtCore->em_virthandlers[47]))(sipGILState, sipModuleAPI_QtWebChannel_QtCore->em_virterrorhandlers[0], sipPySelf, sipMeth, a0);
}

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

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

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

    typedef void (*sipVH_QtCore_9)(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, QTimerEvent*);

    ((sipVH_QtCore_9)(sipModuleAPI_QtWebChannel_QtCore->em_virthandlers[9]))(sipGILState, sipModuleAPI_QtWebChannel_QtCore->em_virterrorhandlers[0], sipPySelf, sipMeth, a0);
}

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

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

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

    typedef bool (*sipVH_QtCore_26)(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, QObject*,QEvent*);

    return ((sipVH_QtCore_26)(sipModuleAPI_QtWebChannel_QtCore->em_virthandlers[26]))(sipGILState, sipModuleAPI_QtWebChannel_QtCore->em_virterrorhandlers[0], sipPySelf, sipMeth, a0, a1);
}

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

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

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

    typedef bool (*sipVH_QtCore_5)(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, QEvent*);

    return ((sipVH_QtCore_5)(sipModuleAPI_QtWebChannel_QtCore->em_virthandlers[5]))(sipGILState, sipModuleAPI_QtWebChannel_QtCore->em_virterrorhandlers[0], sipPySelf, sipMeth, a0);
}

QObject* sipQWebChannel::sipProtect_sender() const
{
    return QObject::sender();
}

int sipQWebChannel::sipProtect_receivers(const char*a0) const
{
    return QObject::receivers(a0);
}

void sipQWebChannel::sipProtectVirt_timerEvent(bool sipSelfWasArg,QTimerEvent*a0)
{
    (sipSelfWasArg ? QObject::timerEvent(a0) : timerEvent(a0));
}

void sipQWebChannel::sipProtectVirt_childEvent(bool sipSelfWasArg,QChildEvent*a0)
{
    (sipSelfWasArg ? QObject::childEvent(a0) : childEvent(a0));
}

void sipQWebChannel::sipProtectVirt_customEvent(bool sipSelfWasArg,QEvent*a0)
{
    (sipSelfWasArg ? QObject::customEvent(a0) : customEvent(a0));
}

void sipQWebChannel::sipProtectVirt_connectNotify(bool sipSelfWasArg,const QMetaMethod& a0)
{
    (sipSelfWasArg ? QObject::connectNotify(a0) : connectNotify(a0));
}

void sipQWebChannel::sipProtectVirt_disconnectNotify(bool sipSelfWasArg,const QMetaMethod& a0)
{
    (sipSelfWasArg ? QObject::disconnectNotify(a0) : disconnectNotify(a0));
}

int sipQWebChannel::sipProtect_senderSignalIndex() const
{
    return QObject::senderSignalIndex();
}

bool sipQWebChannel::sipProtect_isSignalConnected(const QMetaMethod& a0) const
{
    return QObject::isSignalConnected(a0);
}


PyDoc_STRVAR(doc_QWebChannel_sender, "QWebChannel.sender() -> QObject");

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

    {
        const sipQWebChannel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "B", &sipSelf, sipType_QWebChannel, &sipCpp))
        {
            QObject*sipRes = 0;

#line 546 "sip/QtCore/qobject.sip"
        // sender() must be called without the GIL to avoid possible deadlocks between
        // the GIL and Qt's internal thread data mutex.
        
        Py_BEGIN_ALLOW_THREADS
        
        #if defined(SIP_PROTECTED_IS_PUBLIC)
        sipRes = sipCpp->sender();
        #else
        sipRes = sipCpp->sipProtect_sender();
        #endif
        
        Py_END_ALLOW_THREADS
        
        if (!sipRes)
        {
            typedef QObject *(*qtcore_qobject_sender_t)();
        
            static qtcore_qobject_sender_t qtcore_qobject_sender = 0;
        
            if (!qtcore_qobject_sender)
                qtcore_qobject_sender = (qtcore_qobject_sender_t)sipImportSymbol("qtcore_qobject_sender");
        
            if (qtcore_qobject_sender)
                sipRes = qtcore_qobject_sender();
        }
#line 1686 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannel, sipName_sender, doc_QWebChannel_sender);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannel_receivers, "QWebChannel.receivers(signal) -> int");

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

    {
        PyObject * a0;
        const sipQWebChannel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BP0", &sipSelf, sipType_QWebChannel, &sipCpp, &a0))
        {
            int sipRes = 0;
            sipErrorState sipError = sipErrorNone;

#line 575 "sip/QtCore/qobject.sip"
        // We need to handle the signal object.  Import the helper if it hasn't already
        // been done.
        typedef sipErrorState (*pyqt5_get_signal_signature_t)(PyObject *, const QObject *, const QByteArray &);
        
        static pyqt5_get_signal_signature_t pyqt5_get_signal_signature = 0;
        
        if (!pyqt5_get_signal_signature)
            pyqt5_get_signal_signature = (pyqt5_get_signal_signature_t)sipImportSymbol("pyqt5_get_signal_signature");
        
        if (pyqt5_get_signal_signature)
        {
            QByteArray signal_signature;
            
        #if defined(SIP_PROTECTED_IS_PUBLIC)
            if ((sipError = pyqt5_get_signal_signature(a0, sipCpp, signal_signature)) == sipErrorNone)
            {
                sipRes = sipCpp->receivers(signal_signature.constData());
            }
        #else
            if ((sipError = pyqt5_get_signal_signature(a0, static_cast<const QObject *>(sipCpp), signal_signature)) == sipErrorNone)
            {
                sipRes = sipCpp->sipProtect_receivers(signal_signature.constData());
            }
        #endif
            else if (sipError == sipErrorContinue)
            {
                sipError = sipBadCallableArg(0, a0);
            }
        }
#line 1745 "/usr/src/ports/python-pyqt5/python-pyqt5-5.4.2-1.i686/build/QtWebChannel/sipQtWebChannelpart0.cpp"

            if (sipError == sipErrorFail)
                return 0;

            if (sipError == sipErrorNone)
            {
            return SIPLong_FromLong(sipRes);
            }

            sipAddException(sipError, &sipParseErr);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannel, sipName_receivers, doc_QWebChannel_receivers);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannel_timerEvent, "QWebChannel.timerEvent(QTimerEvent)");

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

    {
        QTimerEvent* a0;
        sipQWebChannel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ8", &sipSelf, sipType_QWebChannel, &sipCpp, sipType_QTimerEvent, &a0))
        {
            sipCpp->sipProtectVirt_timerEvent(sipSelfWasArg,a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannel, sipName_timerEvent, doc_QWebChannel_timerEvent);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannel_childEvent, "QWebChannel.childEvent(QChildEvent)");

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

    {
        QChildEvent* a0;
        sipQWebChannel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ8", &sipSelf, sipType_QWebChannel, &sipCpp, sipType_QChildEvent, &a0))
        {
            sipCpp->sipProtectVirt_childEvent(sipSelfWasArg,a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannel, sipName_childEvent, doc_QWebChannel_childEvent);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannel_customEvent, "QWebChannel.customEvent(QEvent)");

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

    {
        QEvent* a0;
        sipQWebChannel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ8", &sipSelf, sipType_QWebChannel, &sipCpp, sipType_QEvent, &a0))
        {
            sipCpp->sipProtectVirt_customEvent(sipSelfWasArg,a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannel, sipName_customEvent, doc_QWebChannel_customEvent);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannel_connectNotify, "QWebChannel.connectNotify(QMetaMethod)");

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

    {
        const QMetaMethod* a0;
        sipQWebChannel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ9", &sipSelf, sipType_QWebChannel, &sipCpp, sipType_QMetaMethod, &a0))
        {
            sipCpp->sipProtectVirt_connectNotify(sipSelfWasArg,*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannel, sipName_connectNotify, doc_QWebChannel_connectNotify);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannel_disconnectNotify, "QWebChannel.disconnectNotify(QMetaMethod)");

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

    {
        const QMetaMethod* a0;
        sipQWebChannel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ9", &sipSelf, sipType_QWebChannel, &sipCpp, sipType_QMetaMethod, &a0))
        {
            sipCpp->sipProtectVirt_disconnectNotify(sipSelfWasArg,*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannel, sipName_disconnectNotify, doc_QWebChannel_disconnectNotify);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannel_senderSignalIndex, "QWebChannel.senderSignalIndex() -> int");

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

    {
        const sipQWebChannel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "B", &sipSelf, sipType_QWebChannel, &sipCpp))
        {
            int sipRes;

            sipRes = sipCpp->sipProtect_senderSignalIndex();

            return SIPLong_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannel, sipName_senderSignalIndex, doc_QWebChannel_senderSignalIndex);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannel_isSignalConnected, "QWebChannel.isSignalConnected(QMetaMethod) -> bool");

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

    {
        const QMetaMethod* a0;
        const sipQWebChannel *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, NULL, NULL, "BJ9", &sipSelf, sipType_QWebChannel, &sipCpp, sipType_QMetaMethod, &a0))
        {
            bool sipRes;

            sipRes = sipCpp->sipProtect_isSignalConnected(*a0);

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannel, sipName_isSignalConnected, doc_QWebChannel_isSignalConnected);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannel_registerObjects, "QWebChannel.registerObjects(dict-of-QString-QObject)");

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

    {
        const QHash<QString,QObject*>* a0;
        int a0State = 0;
        QWebChannel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_QWebChannel, &sipCpp, sipType_QHash_0100QString_0101QObject,&a0, &a0State))
        {
            sipCpp->registerObjects(*a0);
            sipReleaseType(const_cast<QHash<QString,QObject*> *>(a0),sipType_QHash_0100QString_0101QObject,a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannel, sipName_registerObjects, doc_QWebChannel_registerObjects);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannel_registeredObjects, "QWebChannel.registeredObjects() -> dict-of-QString-QObject");

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

    {
        const QWebChannel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QWebChannel, &sipCpp))
        {
            QHash<QString,QObject*>*sipRes;

            sipRes = new QHash<QString,QObject*>(sipCpp->registeredObjects());

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannel, sipName_registeredObjects, doc_QWebChannel_registeredObjects);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannel_registerObject, "QWebChannel.registerObject(str, QObject)");

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

    {
        const QString* a0;
        int a0State = 0;
        QObject* a1;
        QWebChannel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1J8", &sipSelf, sipType_QWebChannel, &sipCpp, sipType_QString,&a0, &a0State, sipType_QObject, &a1))
        {
            sipCpp->registerObject(*a0,a1);
            sipReleaseType(const_cast<QString *>(a0),sipType_QString,a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannel, sipName_registerObject, doc_QWebChannel_registerObject);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannel_deregisterObject, "QWebChannel.deregisterObject(QObject)");

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

    {
        QObject* a0;
        QWebChannel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_QWebChannel, &sipCpp, sipType_QObject, &a0))
        {
            sipCpp->deregisterObject(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannel, sipName_deregisterObject, doc_QWebChannel_deregisterObject);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannel_blockUpdates, "QWebChannel.blockUpdates() -> bool");

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

    {
        const QWebChannel *sipCpp;

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

            sipRes = sipCpp->blockUpdates();

            return PyBool_FromLong(sipRes);
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannel, sipName_blockUpdates, doc_QWebChannel_blockUpdates);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannel_setBlockUpdates, "QWebChannel.setBlockUpdates(bool)");

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

    {
        bool a0;
        QWebChannel *sipCpp;

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

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannel, sipName_setBlockUpdates, doc_QWebChannel_setBlockUpdates);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannel_connectTo, "QWebChannel.connectTo(QWebChannelAbstractTransport)");

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

    {
        QWebChannelAbstractTransport* a0;
        QWebChannel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_QWebChannel, &sipCpp, sipType_QWebChannelAbstractTransport, &a0))
        {
            sipCpp->connectTo(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannel, sipName_connectTo, doc_QWebChannel_connectTo);

    return NULL;
}


PyDoc_STRVAR(doc_QWebChannel_disconnectFrom, "QWebChannel.disconnectFrom(QWebChannelAbstractTransport)");

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

    {
        QWebChannelAbstractTransport* a0;
        QWebChannel *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_QWebChannel, &sipCpp, sipType_QWebChannelAbstractTransport, &a0))
        {
            sipCpp->disconnectFrom(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_QWebChannel, sipName_disconnectFrom, doc_QWebChannel_disconnectFrom);

    return NULL;
}


/* Cast a pointer to a type somewhere in its superclass hierarchy. */
extern "C" {static void *cast_QWebChannel(void *, const sipTypeDef *);}
static void *cast_QWebChannel(void *ptr, const sipTypeDef *targetType)
{
    void *res;

    if (targetType == sipType_QWebChannel)
        return ptr;

    if ((res = ((const sipClassTypeDef *)sipType_QObject)->ctd_cast((QObject *)(QWebChannel *)ptr,targetType)) != NULL)
        return res;

    return NULL;
}


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

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


extern "C" {static void dealloc_QWebChannel(sipSimpleWrapper *);}
static void dealloc_QWebChannel(sipSimpleWrapper *sipSelf)
{
    if (sipIsDerived(sipSelf))
        reinterpret_cast<sipQWebChannel *>(sipGetAddress(sipSelf))->sipPySelf = NULL;

    if (sipIsPyOwned(sipSelf))
    {
        release_QWebChannel(sipGetAddress(sipSelf),sipSelf->flags);
    }
}


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

    {
        QObject* a0 = 0;

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

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return NULL;
}


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


static PyMethodDef methods_QWebChannel[] = {
    {SIP_MLNAME_CAST(sipName_blockUpdates), meth_QWebChannel_blockUpdates, METH_VARARGS, SIP_MLDOC_CAST(doc_QWebChannel_blockUpdates)},
    {SIP_MLNAME_CAST(sipName_childEvent), (PyCFunction)meth_QWebChannel_childEvent, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_connectNotify), (PyCFunction)meth_QWebChannel_connectNotify, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_connectTo), meth_QWebChannel_connectTo, METH_VARARGS, SIP_MLDOC_CAST(doc_QWebChannel_connectTo)},
    {SIP_MLNAME_CAST(sipName_customEvent), (PyCFunction)meth_QWebChannel_customEvent, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_deregisterObject), meth_QWebChannel_deregisterObject, METH_VARARGS, SIP_MLDOC_CAST(doc_QWebChannel_deregisterObject)},
    {SIP_MLNAME_CAST(sipName_disconnectFrom), meth_QWebChannel_disconnectFrom, METH_VARARGS, SIP_MLDOC_CAST(doc_QWebChannel_disconnectFrom)},
    {SIP_MLNAME_CAST(sipName_disconnectNotify), (PyCFunction)meth_QWebChannel_disconnectNotify, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_isSignalConnected), (PyCFunction)meth_QWebChannel_isSignalConnected, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_receivers), (PyCFunction)meth_QWebChannel_receivers, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_registerObject), meth_QWebChannel_registerObject, METH_VARARGS, SIP_MLDOC_CAST(doc_QWebChannel_registerObject)},
    {SIP_MLNAME_CAST(sipName_registerObjects), meth_QWebChannel_registerObjects, METH_VARARGS, SIP_MLDOC_CAST(doc_QWebChannel_registerObjects)},
    {SIP_MLNAME_CAST(sipName_registeredObjects), meth_QWebChannel_registeredObjects, METH_VARARGS, SIP_MLDOC_CAST(doc_QWebChannel_registeredObjects)},
    {SIP_MLNAME_CAST(sipName_sender), (PyCFunction)meth_QWebChannel_sender, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_senderSignalIndex), (PyCFunction)meth_QWebChannel_senderSignalIndex, METH_VARARGS|METH_KEYWORDS, NULL},
    {SIP_MLNAME_CAST(sipName_setBlockUpdates), meth_QWebChannel_setBlockUpdates, METH_VARARGS, SIP_MLDOC_CAST(doc_QWebChannel_setBlockUpdates)},
    {SIP_MLNAME_CAST(sipName_timerEvent), (PyCFunction)meth_QWebChannel_timerEvent, METH_VARARGS|METH_KEYWORDS, NULL}
};


/* Define this type's signals. */
static const pyqt5QtSignal signals_QWebChannel[] = {
    {"blockUpdatesChanged(bool)", "\1QWebChannel.blockUpdatesChanged[bool]", 0, 0},
    {0, 0, 0, 0}
};

PyDoc_STRVAR(doc_QWebChannel, "\1QWebChannel(QObject parent=None)");


pyqt5ClassTypeDef sipTypeDef_QtWebChannel_QWebChannel = {
{
    {
        -1,
        0,
        0,
        SIP_TYPE_SCC|SIP_TYPE_SUPER_INIT|SIP_TYPE_CLASS,
        sipNameNr_QWebChannel,
        {0}
    },
    {
        sipNameNr_QWebChannel,
        {0, 0, 1},
        17, methods_QWebChannel,
        0, 0,
        0, 0,
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    },
    doc_QWebChannel,
    -1,
    -1,
    supers_QWebChannel,
    0,
    init_type_QWebChannel,
    0,
    0,
#if PY_MAJOR_VERSION >= 3
    0,
    0,
#else
    0,
    0,
    0,
    0,
#endif
    dealloc_QWebChannel,
    0,
    0,
    0,
    release_QWebChannel,
    cast_QWebChannel,
    0,
    0,
    0,
    0,
    0,
    0
},
    &QWebChannel::staticMetaObject,
    0,
    signals_QWebChannel,
    0
};
