/*
 * Module code.
 *
 * Generated by SIP 4.12.4 on Fri Dec 30 00:26:00 2011
 */

#include "sipAPIdnssd.h"

#line 27 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/servicebrowser.sip"
#include <dnssd/servicebrowser.h>
#line 12 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"

#line 36 "/usr/local/share/py-sip/QtCore/qstring.sip"
#include <qstring.h>
#line 16 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
#line 340 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/kdecore/typedefs.sip"
#include <ksharedptr.h>
#line 19 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
#line 27 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/remoteservice.sip"
#include <dnssd/remoteservice.h>
#line 22 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
#line 35 "/usr/local/share/py-sip/QtNetwork/qhostaddress.sip"
#include <qhostaddress.h>
#line 25 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
#line 53 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/remoteservice.sip"
#include <qlist.h>
#line 28 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
#line 31 "/usr/local/share/py-sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 31 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
#line 310 "/usr/local/share/py-sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 34 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
#line 298 "/usr/local/share/py-sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 37 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
#line 34 "/usr/local/share/py-sip/QtCore/qobject.sip"
#include <qobject.h>
#line 40 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
#line 238 "/usr/local/share/py-sip/QtCore/qvariant.sip"
#include <qvariant.h>
#line 43 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
#line 33 "/usr/local/share/py-sip/QtCore/qlist.sip"
#include <qlist.h>
#line 46 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
#line 37 "/usr/local/share/py-sip/QtCore/qbytearray.sip"
#include <qbytearray.h>
#line 49 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
#line 35 "/usr/local/share/py-sip/QtCore/qnamespace.sip"
#include <qnamespace.h>
#line 52 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
#line 120 "/usr/local/share/py-sip/QtCore/qlist.sip"
#include <qlist.h>
#line 55 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
#line 31 "/usr/local/share/py-sip/QtCore/qthread.sip"
#include <qthread.h>
#line 58 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
#line 35 "/usr/local/share/py-sip/QtCore/qregexp.sip"
#include <qregexp.h>
#line 61 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
#line 31 "/usr/local/share/py-sip/QtCore/qobjectdefs.sip"
#include <qobjectdefs.h>
#line 64 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"


class sipDNSSD_ServiceBrowser : public DNSSD::ServiceBrowser
{
public:
    sipDNSSD_ServiceBrowser(const QString&,bool,const QString&,const QString&);
    virtual ~sipDNSSD_ServiceBrowser();

    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 char *);
    void sipProtectVirt_disconnectNotify(bool,const char *);
    void sipProtectVirt_virtual_hook(bool,int,void *);

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

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[9];
};

sipDNSSD_ServiceBrowser::sipDNSSD_ServiceBrowser(const QString& a0,bool a1,const QString& a2,const QString& a3): DNSSD::ServiceBrowser(a0,a1,a2,a3), sipPySelf(0)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

const QMetaObject *sipDNSSD_ServiceBrowser::metaObject() const
{
    return sip_dnssd_qt_metaobject(sipPySelf,sipType_DNSSD_ServiceBrowser);
}

int sipDNSSD_ServiceBrowser::qt_metacall(QMetaObject::Call _c,int _id,void **_a)
{
    _id = DNSSD::ServiceBrowser::qt_metacall(_c,_id,_a);

    if (_id >= 0)
        _id = sip_dnssd_qt_metacall(sipPySelf,sipType_DNSSD_ServiceBrowser,_c,_id,_a);

    return _id;
}

void *sipDNSSD_ServiceBrowser::qt_metacast(const char *_clname)
{
    return (sip_dnssd_qt_metacast && sip_dnssd_qt_metacast(sipPySelf,sipType_DNSSD_ServiceBrowser,_clname)) ? this : DNSSD::ServiceBrowser::qt_metacast(_clname);
}

void sipDNSSD_ServiceBrowser::startBrowse()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        DNSSD::ServiceBrowser::startBrowse();
        return;
    }

    typedef void (*sipVH_QtCore_11)(sip_gilstate_t,PyObject *);

    ((sipVH_QtCore_11)(sipModuleAPI_dnssd_QtCore->em_virthandlers[11]))(sipGILState,sipMeth);
}

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

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

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

    extern void sipVH_dnssd_0(sip_gilstate_t,PyObject *,int,void *);

    sipVH_dnssd_0(sipGILState,sipMeth,a0,a1);
}

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

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

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

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

    return ((sipVH_QtCore_5)(sipModuleAPI_dnssd_QtCore->em_virthandlers[5]))(sipGILState,sipMeth,a0);
}

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

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

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

    typedef bool (*sipVH_QtCore_18)(sip_gilstate_t,PyObject *,QObject *,QEvent *);

    return ((sipVH_QtCore_18)(sipModuleAPI_dnssd_QtCore->em_virthandlers[18]))(sipGILState,sipMeth,a0,a1);
}

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

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

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

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

    ((sipVH_QtCore_9)(sipModuleAPI_dnssd_QtCore->em_virthandlers[9]))(sipGILState,sipMeth,a0);
}

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

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

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

    typedef void (*sipVH_QtCore_25)(sip_gilstate_t,PyObject *,QChildEvent *);

    ((sipVH_QtCore_25)(sipModuleAPI_dnssd_QtCore->em_virthandlers[25]))(sipGILState,sipMeth,a0);
}

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

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

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

    typedef void (*sipVH_QtCore_17)(sip_gilstate_t,PyObject *,QEvent *);

    ((sipVH_QtCore_17)(sipModuleAPI_dnssd_QtCore->em_virthandlers[17]))(sipGILState,sipMeth,a0);
}

void sipDNSSD_ServiceBrowser::connectNotify(const char *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

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

    typedef void (*sipVH_QtCore_24)(sip_gilstate_t,PyObject *,const char *);

    ((sipVH_QtCore_24)(sipModuleAPI_dnssd_QtCore->em_virthandlers[24]))(sipGILState,sipMeth,a0);
}

void sipDNSSD_ServiceBrowser::disconnectNotify(const char *a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

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

    typedef void (*sipVH_QtCore_24)(sip_gilstate_t,PyObject *,const char *);

    ((sipVH_QtCore_24)(sipModuleAPI_dnssd_QtCore->em_virthandlers[24]))(sipGILState,sipMeth,a0);
}

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

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

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

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

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

void sipDNSSD_ServiceBrowser::sipProtectVirt_connectNotify(bool sipSelfWasArg,const char *a0)
{
    (sipSelfWasArg ? QObject::connectNotify(a0) : connectNotify(a0));
}

void sipDNSSD_ServiceBrowser::sipProtectVirt_disconnectNotify(bool sipSelfWasArg,const char *a0)
{
    (sipSelfWasArg ? QObject::disconnectNotify(a0) : disconnectNotify(a0));
}

void sipDNSSD_ServiceBrowser::sipProtectVirt_virtual_hook(bool sipSelfWasArg,int a0,void *a1)
{
    (sipSelfWasArg ? DNSSD::ServiceBrowser::virtual_hook(a0,a1) : virtual_hook(a0,a1));
}


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

    {
        sipDNSSD_ServiceBrowser *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_DNSSD_ServiceBrowser, &sipCpp))
        {
            QObject *sipRes = 0;

#line 632 "/usr/local/share/py-sip/QtCore/qobject.sip"
        typedef QObject *(*helper_func)(QObject *);
        
        static helper_func helper = 0;
        
        if (!helper)
            helper = (helper_func)sipImportSymbol("qpycore_qobject_sender");
        
        if (helper)
        #if defined(SIP_PROTECTED_IS_PUBLIC)
            sipRes = helper(sipCpp->sender());
        #else
            sipRes = helper(sipCpp->sipProtect_sender());
        #endif
#line 368 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"

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

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

    return NULL;
}


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

    {
        char * a0;
        sipDNSSD_ServiceBrowser *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BG", &sipSelf, sipType_DNSSD_ServiceBrowser, &sipCpp, &a0))
        {
            int sipRes = 0;

#line 649 "/usr/local/share/py-sip/QtCore/qobject.sip"
        // We need to take into account any proxies for Python signals. Import the
        // helper if it hasn't already been done.
        typedef int (*helper_func)(QObject *, const char *, int);
        
        static helper_func helper = 0;
        
        if (!helper)
            helper = (helper_func)sipImportSymbol("qpycore_qobject_receivers");
        
        if (helper)
        #if defined(SIP_PROTECTED_IS_PUBLIC)
            sipRes = helper(sipCpp, a0, sipCpp->receivers(a0));
        #else
            sipRes = helper(sipCpp, a0, sipCpp->sipProtect_receivers(a0));
        #endif
#line 410 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"

            return SIPLong_FromLong(sipRes);
        }
    }

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

    return NULL;
}


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

    {
        QTimerEvent * a0;
        sipDNSSD_ServiceBrowser *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_DNSSD_ServiceBrowser, &sipCpp, sipType_QTimerEvent, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_timerEvent(sipSelfWasArg,a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

    return NULL;
}


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

    {
        QChildEvent * a0;
        sipDNSSD_ServiceBrowser *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_DNSSD_ServiceBrowser, &sipCpp, sipType_QChildEvent, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_childEvent(sipSelfWasArg,a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

    return NULL;
}


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

    {
        QEvent * a0;
        sipDNSSD_ServiceBrowser *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_DNSSD_ServiceBrowser, &sipCpp, sipType_QEvent, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_customEvent(sipSelfWasArg,a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

    return NULL;
}


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

    {
        char * a0;
        sipDNSSD_ServiceBrowser *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BG", &sipSelf, sipType_DNSSD_ServiceBrowser, &sipCpp, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_connectNotify(sipSelfWasArg,a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

    return NULL;
}


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

    {
        char * a0;
        sipDNSSD_ServiceBrowser *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BG", &sipSelf, sipType_DNSSD_ServiceBrowser, &sipCpp, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_disconnectNotify(sipSelfWasArg,a0);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

    return NULL;
}


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

    {
        DNSSD::ServiceBrowser *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_DNSSD_ServiceBrowser, &sipCpp))
        {
            QList<DNSSD::RemoteService::Ptr> *sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = new QList<DNSSD::RemoteService::Ptr>(sipCpp->services());
            Py_END_ALLOW_THREADS

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

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

    return NULL;
}


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

    {
        DNSSD::ServiceBrowser *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_DNSSD_ServiceBrowser, &sipCpp))
        {
            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->DNSSD::ServiceBrowser::startBrowse() : sipCpp->startBrowse());
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

    return NULL;
}


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

    {
        if (sipParseArgs(&sipParseErr, sipArgs, ""))
        {
            DNSSD::ServiceBrowser::State sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = DNSSD::ServiceBrowser::isAvailable();
            Py_END_ALLOW_THREADS

            return sipConvertFromEnum(sipRes,sipType_DNSSD_ServiceBrowser_State);
        }
    }

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

    return NULL;
}


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

    {
        DNSSD::ServiceBrowser *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->isAutoResolving();
            Py_END_ALLOW_THREADS

            return PyBool_FromLong(sipRes);
        }
    }

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

    return NULL;
}


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

    {
        const QString * a0;
        int a0State = 0;

        if (sipParseArgs(&sipParseErr, sipArgs, "J1", sipType_QString,&a0, &a0State))
        {
            QHostAddress *sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = new QHostAddress(DNSSD::ServiceBrowser::resolveHostName(*a0));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<QString *>(a0),sipType_QString,a0State);

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

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

    return NULL;
}


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

    {
        if (sipParseArgs(&sipParseErr, sipArgs, ""))
        {
            QString *sipRes;

            Py_BEGIN_ALLOW_THREADS
            sipRes = new QString(DNSSD::ServiceBrowser::getLocalHostName());
            Py_END_ALLOW_THREADS

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

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

    return NULL;
}


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

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

        if (sipParseArgs(&sipParseErr, sipArgs, "Biv", &sipSelf, sipType_DNSSD_ServiceBrowser, &sipCpp, &a0, &a1))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_virtual_hook(sipSelfWasArg,a0,a1);
            Py_END_ALLOW_THREADS

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

    return NULL;
}


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

    if (targetType == sipType_DNSSD_ServiceBrowser)
        return ptr;

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

    return NULL;
}


/* Call the instance's destructor. */
extern "C" {static void release_DNSSD_ServiceBrowser(void *, int);}
static void release_DNSSD_ServiceBrowser(void *sipCppV,int sipState)
{
    Py_BEGIN_ALLOW_THREADS

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipDNSSD_ServiceBrowser *>(sipCppV);
    else
        delete reinterpret_cast<DNSSD::ServiceBrowser *>(sipCppV);

    Py_END_ALLOW_THREADS
}


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

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


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

    {
        const QString * a0;
        int a0State = 0;
        bool a1 = 0;
        const QString& a2def = QString();
        const QString * a2 = &a2def;
        int a2State = 0;
        const QString& a3def = QString();
        const QString * a3 = &a3def;
        int a3State = 0;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, NULL, sipUnused, "J1|bJ1J1", sipType_QString,&a0, &a0State, &a1, sipType_QString,&a2, &a2State, sipType_QString,&a3, &a3State))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipDNSSD_ServiceBrowser(*a0,a1,*a2,*a3);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<QString *>(a0),sipType_QString,a0State);
            sipReleaseType(const_cast<QString *>(a2),sipType_QString,a2State);
            sipReleaseType(const_cast<QString *>(a3),sipType_QString,a3State);

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return NULL;
}


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


static PyMethodDef methods_DNSSD_ServiceBrowser[] = {
    {SIP_MLNAME_CAST(sipName_childEvent), meth_DNSSD_ServiceBrowser_childEvent, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_connectNotify), meth_DNSSD_ServiceBrowser_connectNotify, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_customEvent), meth_DNSSD_ServiceBrowser_customEvent, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_disconnectNotify), meth_DNSSD_ServiceBrowser_disconnectNotify, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_getLocalHostName), meth_DNSSD_ServiceBrowser_getLocalHostName, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_isAutoResolving), meth_DNSSD_ServiceBrowser_isAutoResolving, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_isAvailable), meth_DNSSD_ServiceBrowser_isAvailable, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_receivers), meth_DNSSD_ServiceBrowser_receivers, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_resolveHostName), meth_DNSSD_ServiceBrowser_resolveHostName, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_sender), meth_DNSSD_ServiceBrowser_sender, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_services), meth_DNSSD_ServiceBrowser_services, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_startBrowse), meth_DNSSD_ServiceBrowser_startBrowse, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_timerEvent), meth_DNSSD_ServiceBrowser_timerEvent, METH_VARARGS, NULL},
    {SIP_MLNAME_CAST(sipName_virtual_hook), meth_DNSSD_ServiceBrowser_virtual_hook, METH_VARARGS, NULL}
};

static sipEnumMemberDef enummembers_DNSSD_ServiceBrowser[] = {
    {sipName_Stopped, DNSSD::ServiceBrowser::Stopped, 8},
    {sipName_Unsupported, DNSSD::ServiceBrowser::Unsupported, 8},
    {sipName_Working, DNSSD::ServiceBrowser::Working, 8},
};


/* Define this type's PyQt4 signals. */
static const pyqt4QtSignal pyqt4_signals_DNSSD_ServiceBrowser[] = {
    {"finished()", 0, 0},
    {"serviceRemoved(DNSSD::RemoteService::Ptr)", 0, 0},
    {"serviceAdded(DNSSD::RemoteService::Ptr)", 0, 0},
    {0, 0, 0}
};


pyqt4ClassTypeDef sipTypeDef_dnssd_DNSSD_ServiceBrowser = {
{
    {
        -1,
        0,
        0,
        SIP_TYPE_SCC|SIP_TYPE_CLASS,
        sipNameNr_DNSSD__ServiceBrowser,
        {0}
    },
    {
        sipNameNr_ServiceBrowser,
        {0, 255, 0},
        14, methods_DNSSD_ServiceBrowser,
        3, enummembers_DNSSD_ServiceBrowser,
        0, 0,
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    },
    0,
    -1,
    -1,
    supers_DNSSD_ServiceBrowser,
    0,
    init_DNSSD_ServiceBrowser,
    0,
    0,
#if PY_MAJOR_VERSION >= 3
    0,
    0,
#else
    0,
    0,
    0,
    0,
#endif
    dealloc_DNSSD_ServiceBrowser,
    0,
    0,
    0,
    release_DNSSD_ServiceBrowser,
    cast_DNSSD_ServiceBrowser,
    0,
    0,
    0
},
    &DNSSD::ServiceBrowser::staticMetaObject,
    0,
    pyqt4_signals_DNSSD_ServiceBrowser
};

#line 53 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/remoteservice.sip"
#include <qlist.h>
#line 920 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"

#line 340 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/kdecore/typedefs.sip"
#include <ksharedptr.h>
#line 924 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
#line 27 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/remoteservice.sip"
#include <dnssd/remoteservice.h>
#line 927 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"


extern "C" {static void assign_QList_0100DNSSD_RemoteService_Ptr(void *, SIP_SSIZE_T, const void *);}
static void assign_QList_0100DNSSD_RemoteService_Ptr(void *sipDst, SIP_SSIZE_T sipDstIdx, const void *sipSrc)
{
    reinterpret_cast<QList<DNSSD::RemoteService::Ptr> *>(sipDst)[sipDstIdx] = *reinterpret_cast<const QList<DNSSD::RemoteService::Ptr> *>(sipSrc);
}


extern "C" {static void *array_QList_0100DNSSD_RemoteService_Ptr(SIP_SSIZE_T);}
static void *array_QList_0100DNSSD_RemoteService_Ptr(SIP_SSIZE_T sipNrElem)
{
    return new QList<DNSSD::RemoteService::Ptr>[sipNrElem];
}


extern "C" {static void *copy_QList_0100DNSSD_RemoteService_Ptr(const void *, SIP_SSIZE_T);}
static void *copy_QList_0100DNSSD_RemoteService_Ptr(const void *sipSrc, SIP_SSIZE_T sipSrcIdx)
{
    return new QList<DNSSD::RemoteService::Ptr>(reinterpret_cast<const QList<DNSSD::RemoteService::Ptr> *>(sipSrc)[sipSrcIdx]);
}


/* Call the mapped type's destructor. */
extern "C" {static void release_QList_0100DNSSD_RemoteService_Ptr(void *, int);}
static void release_QList_0100DNSSD_RemoteService_Ptr(void *ptr, int)
{
    Py_BEGIN_ALLOW_THREADS
    delete reinterpret_cast<QList<DNSSD::RemoteService::Ptr> *>(ptr);
    Py_END_ALLOW_THREADS
}



extern "C" {static int convertTo_QList_0100DNSSD_RemoteService_Ptr(PyObject *, void **, int *, PyObject *);}
static int convertTo_QList_0100DNSSD_RemoteService_Ptr(PyObject *sipPy,void **sipCppPtrV,int *sipIsErr,PyObject *sipTransferObj)
{
    QList<DNSSD::RemoteService::Ptr> **sipCppPtr = reinterpret_cast<QList<DNSSD::RemoteService::Ptr> **>(sipCppPtrV);

#line 84 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/remoteservice.sip"
    // Check the type if that is all that is required.
    if (sipIsErr == NULL)
    {
        if (!PyList_Check(sipPy))
            return 0;

        for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
            if (!sipCanConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_DNSSD_RemoteService, SIP_NOT_NONE))
                return 0;

        return 1;
    }

    QList<DNSSD::RemoteService::Ptr> *ql = new QList<DNSSD::RemoteService::Ptr>;
 
    for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
    {
        int state;
        DNSSD::RemoteService *t = reinterpret_cast<DNSSD::RemoteService *>(sipConvertToInstance(PyList_GET_ITEM(sipPy, i), sipClass_DNSSD_RemoteService, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
 
        if (*sipIsErr)
        {
            sipReleaseInstance(t, sipClass_DNSSD_RemoteService, state);

            delete ql;
            return 0;
        }

        DNSSD::RemoteService::Ptr *tptr = new DNSSD::RemoteService::Ptr (t);

        ql->append(*tptr);

        sipReleaseInstance(t, sipClass_DNSSD_RemoteService, state);
    }
 
    *sipCppPtr = ql;
 
    return sipGetState(sipTransferObj);
#line 1006 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
}


extern "C" {static PyObject *convertFrom_QList_0100DNSSD_RemoteService_Ptr(void *, PyObject *);}
static PyObject *convertFrom_QList_0100DNSSD_RemoteService_Ptr(void *sipCppV,PyObject *sipTransferObj)
{
   QList<DNSSD::RemoteService::Ptr> *sipCpp = reinterpret_cast<QList<DNSSD::RemoteService::Ptr> *>(sipCppV);

#line 57 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/remoteservice.sip"
    // Create the list.
    PyObject *l;

    if ((l = PyList_New(sipCpp->size())) == NULL)
        return NULL;

    // Set the list elements.
    for (int i = 0; i < sipCpp->size(); ++i)
    {
        DNSSD::RemoteService::Ptr *t = new DNSSD::RemoteService::Ptr (sipCpp->at(i));
        PyObject *tobj;

        if ((tobj = sipConvertFromNewInstance(t->data(), sipClass_DNSSD_RemoteService, sipTransferObj)) == NULL)
        {
            Py_DECREF(l);
            delete t;

            return NULL;
        }

        PyList_SET_ITEM(l, i, tobj);
    }

    return l;
#line 1040 "/work/a/ports/devel/kdebindings4-python-pykde4/work/pykde4-4.7.3/sip/dnssd/sipdnssdpart2.cpp"
}


sipMappedTypeDef sipTypeDef_dnssd_QList_0100DNSSD_RemoteService_Ptr = {
    {
        -1,
        0,
        0,
        SIP_TYPE_MAPPED,
        sipNameNr_104,
        {0}
    },
    {
        -1,
        {0, 0, 1},
        0, 0,
        0, 0,
        0, 0,
        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
    },
    assign_QList_0100DNSSD_RemoteService_Ptr,
    array_QList_0100DNSSD_RemoteService_Ptr,
    copy_QList_0100DNSSD_RemoteService_Ptr,
    release_QList_0100DNSSD_RemoteService_Ptr,
    convertTo_QList_0100DNSSD_RemoteService_Ptr,
    convertFrom_QList_0100DNSSD_RemoteService_Ptr
};
