Hi,
I'm at the moment having some fun with pyside-shiboken by trying to make
QtNetwork module work since it only depends on QtCore. Although my fun
time is becoming a nightmare due to an issue on 'waitForNewConnection'
(QLocalServer and QTcpServer).
First things first:
a) I will focus on QLocalSever only
b) 'waitForNewConnection' header is:
bool QLocalServer::waitForNewConnection ( int msec = 0, bool * timedOut = 0 )
Checking typesystem_network.xml from pyside-boost I've notice that
'timedOut' argument is removed for obvious reason (bool*), and thus a
tuple must be returned containing 'retval' and 'ok_'.
Bridging to pyside-shiboken it would looks something like as:
<object-type name="QLocalServer">
<modify-function signature="waitForNewConnection(int,bool*)"
allow-thread="yes">
<modify-argument index="2">
<remove-default-expression/>
<remove-argument/>
</modify-argument>
<modify-argument index="return">
<replace-type modified-type="python::object" />
</modify-argument>
<inject-code class="target" position="beginning">
<insert-template name="fix_args,bool*"/>
</inject-code>
</modify-function>
</object-type>
But when compiling I get:
/home/carlos/devel/scm/pyside/cgoncalves-pyside-shiboken/build/PySide/QtNetwork/PySide/QtNetwork/qlocalserver_wrapper.cpp:
In function ‘PyObject*
SbkQLocalServerFunc_waitForNewConnection(PyObject*, PyObject*)’:
/home/carlos/devel/scm/pyside/cgoncalves-pyside-shiboken/build/PySide/QtNetwork/PySide/QtNetwork/qlocalserver_wrapper.cpp:567:
error: ‘args’ was not declared in this scope
/home/carlos/devel/scm/pyside/cgoncalves-pyside-shiboken/build/PySide/QtNetwork/PySide/QtNetwork/qlocalserver_wrapper.cpp:579:
error: ‘cpp_arg0’ was not declared in this scope
/home/carlos/devel/scm/pyside/cgoncalves-pyside-shiboken/build/PySide/QtNetwork/PySide/QtNetwork/qlocalserver_wrapper.cpp:
At global scope:
/home/carlos/devel/scm/pyside/cgoncalves-pyside-shiboken/build/PySide/QtNetwork/PySide/QtNetwork/qlocalserver_wrapper.cpp:625:
error: expected primary-expression before ‘|’ token
/home/carlos/devel/scm/pyside/cgoncalves-pyside-shiboken/build/PySide/QtNetwork/PySide/QtNetwork/qlocalserver_wrapper.cpp:627:
error: too many initializers for ‘PyMethodDef’
The generated qlocalserver_wrapper.cpp file is attached.
My question is as simple as: what am I missing?
Thanks.
--
Regards,
Carlos Gonçalves
/*
* This file is part of PySide: Python for Qt
*
* Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
*
* Contact: PySide team <[email protected]>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* version 2.1 as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*
*/
//workaround to access protected functions
#define protected public
// default includes
#include <shiboken.h>
#include <typeresolver.h>
#include <typeinfo>
#include <signalmanager.h>
#include <dynamicqmetaobject.h>
#include "pyside_qtnetwork_python.h"
#include "qlocalserver_wrapper.h"
// Extra includes
#include <QList>
#include <qbytearray.h>
#include <qcoreevent.h>
#include <qlocalserver.h>
#include <qlocalsocket.h>
#include <qobject.h>
#include <qobjectdefs.h>
#include <qstring.h>
#include <qthread.h>
#include <qvariant.h>
using namespace Shiboken;
static const char* SbkQLocalServer_typeName(const void* cptr)
{
return typeid(*reinterpret_cast<const QLocalServer*>(cptr)).name();
}
// Native ---------------------------------------------------------
QLocalServerWrapper::QLocalServerWrapper(QObject * parent) : QLocalServer(parent), m_metaObject(0) {
// ... middle
}
bool QLocalServerWrapper::hasPendingConnections() const
{
Shiboken::GilState gil;
PyObject* py_override = BindingManager::instance().getOverride(this, "hasPendingConnections");
if (!py_override) {
return this->QLocalServer::hasPendingConnections();
}
PyObject* pyargs = PyTuple_New(0);
PyObject* py_result = PyObject_Call(py_override, pyargs, NULL);
bool cpp_result = Shiboken::Converter<bool >::toCpp(py_result);
Py_XDECREF(pyargs);
Py_XDECREF(py_override);
return cpp_result;
}
QLocalSocket * QLocalServerWrapper::nextPendingConnection()
{
Shiboken::GilState gil;
PyObject* py_override = BindingManager::instance().getOverride(this, "nextPendingConnection");
if (!py_override) {
return this->QLocalServer::nextPendingConnection();
}
PyObject* pyargs = PyTuple_New(0);
PyObject* py_result = PyObject_Call(py_override, pyargs, NULL);
QLocalSocket* cpp_result = SbkQLocalSocket_cptr(py_result);
Py_XDECREF(pyargs);
Py_XDECREF(py_override);
return cpp_result;
}
void QLocalServerWrapper::childEvent(QChildEvent * arg__1)
{
Shiboken::GilState gil;
PyObject* py_override = BindingManager::instance().getOverride(this, "childEvent");
if (!py_override) {
return this->QObject::childEvent(arg__1);
}
PyObject* pyargs = Py_BuildValue("(O)",
Shiboken::Converter<QChildEvent* >::toPython(arg__1)
);
PyObject_Call(py_override, pyargs, NULL);
BindingManager::instance().invalidateWrapper(PyTuple_GET_ITEM(pyargs, 0));
Py_XDECREF(pyargs);
Py_XDECREF(py_override);
}
void QLocalServerWrapper::connectNotify(const char * signal)
{
Shiboken::GilState gil;
PyObject* py_override = BindingManager::instance().getOverride(this, "connectNotify");
if (!py_override) {
return this->QObject::connectNotify(signal);
}
PyObject* pyargs = Py_BuildValue("(z)",
signal
);
PyObject_Call(py_override, pyargs, NULL);
Py_XDECREF(pyargs);
Py_XDECREF(py_override);
}
void QLocalServerWrapper::customEvent(QEvent * arg__1)
{
Shiboken::GilState gil;
PyObject* py_override = BindingManager::instance().getOverride(this, "customEvent");
if (!py_override) {
return this->QObject::customEvent(arg__1);
}
PyObject* pyargs = Py_BuildValue("(O)",
Shiboken::Converter<QEvent* >::toPython(arg__1)
);
PyObject_Call(py_override, pyargs, NULL);
BindingManager::instance().invalidateWrapper(PyTuple_GET_ITEM(pyargs, 0));
Py_XDECREF(pyargs);
Py_XDECREF(py_override);
}
void QLocalServerWrapper::disconnectNotify(const char * signal)
{
Shiboken::GilState gil;
PyObject* py_override = BindingManager::instance().getOverride(this, "disconnectNotify");
if (!py_override) {
return this->QObject::disconnectNotify(signal);
}
PyObject* pyargs = Py_BuildValue("(z)",
signal
);
PyObject_Call(py_override, pyargs, NULL);
Py_XDECREF(pyargs);
Py_XDECREF(py_override);
}
bool QLocalServerWrapper::event(QEvent * arg__1)
{
Shiboken::GilState gil;
PyObject* py_override = BindingManager::instance().getOverride(this, "event");
if (!py_override) {
return this->QObject::event(arg__1);
}
PyObject* pyargs = Py_BuildValue("(O)",
Shiboken::Converter<QEvent* >::toPython(arg__1)
);
PyObject* py_result = PyObject_Call(py_override, pyargs, NULL);
bool cpp_result = Shiboken::Converter<bool >::toCpp(py_result);
BindingManager::instance().invalidateWrapper(PyTuple_GET_ITEM(pyargs, 0));
Py_XDECREF(pyargs);
Py_XDECREF(py_override);
return cpp_result;
}
bool QLocalServerWrapper::eventFilter(QObject * arg__1, QEvent * arg__2)
{
Shiboken::GilState gil;
PyObject* py_override = BindingManager::instance().getOverride(this, "eventFilter");
if (!py_override) {
return this->QObject::eventFilter(arg__1, arg__2);
}
PyObject* pyargs = Py_BuildValue("(OO)",
Shiboken::Converter<QObject* >::toPython(arg__1),
Shiboken::Converter<QEvent* >::toPython(arg__2)
);
PyObject* py_result = PyObject_Call(py_override, pyargs, NULL);
bool cpp_result = Shiboken::Converter<bool >::toCpp(py_result);
BindingManager::instance().invalidateWrapper(PyTuple_GET_ITEM(pyargs, 1));
Py_XDECREF(pyargs);
Py_XDECREF(py_override);
return cpp_result;
}
void QLocalServerWrapper::timerEvent(QTimerEvent * arg__1)
{
Shiboken::GilState gil;
PyObject* py_override = BindingManager::instance().getOverride(this, "timerEvent");
if (!py_override) {
return this->QObject::timerEvent(arg__1);
}
PyObject* pyargs = Py_BuildValue("(O)",
Shiboken::Converter<QTimerEvent* >::toPython(arg__1)
);
PyObject_Call(py_override, pyargs, NULL);
BindingManager::instance().invalidateWrapper(PyTuple_GET_ITEM(pyargs, 0));
Py_XDECREF(pyargs);
Py_XDECREF(py_override);
}
const QMetaObject* QLocalServerWrapper::metaObject() const
{
if (!m_metaObject) {
PyObject *pySelf = BindingManager::instance().retrieveWrapper(this);
m_metaObject = new PySide::DynamicQMetaObject(pySelf->ob_type->tp_name, &QLocalServer::staticMetaObject);
}
return m_metaObject;
}
int QLocalServerWrapper::qt_metacall(QMetaObject::Call call, int id, void** args)
{
int result = QLocalServer::qt_metacall(call, id, args);
return result < 0 ? result : PySide::SignalManager::qt_metacall(this, call, id, args);
}
QLocalServerWrapper::~QLocalServerWrapper()
{
BindingManager::instance().invalidateWrapper(this);
delete m_metaObject;
}
// Target ---------------------------------------------------------
static int
SbkQLocalServer_Init(PyObject* self, PyObject* args, PyObject* kwds)
{
QLocalServerWrapper* cptr;
SbkBaseWrapper* sbkSelf = reinterpret_cast<SbkBaseWrapper*>(self);
assert(!sbkSelf->cptr);
int numArgs = PyTuple_GET_SIZE(args);
PyObject* pyargs[] = {0};
if (!PyArg_UnpackTuple(args, "QLocalServer", 0, 1, &(pyargs[0])))
return -1;
if (numArgs == 0) {
// QLocalServer(QObject*)
cptr = new QLocalServerWrapper();
Shiboken::setParent(pyargs[0], self);
} else if ((SbkQObject_Check(pyargs[0]) || Shiboken::Converter<QObject* >::isConvertible(pyargs[0]))) {
if (Shiboken::cppObjectIsInvalid(pyargs[0]))
return -1;
QObject* cpp_arg0 = Shiboken::Converter<QObject* >::toCpp(pyargs[0]);
// QLocalServer(QObject*)
cptr = new QLocalServerWrapper(cpp_arg0);
Shiboken::setParent(pyargs[0], self);
} else goto SbkQLocalServer_Init_TypeError;
sbkSelf->cptr = cptr;
sbkSelf->validCppObject = 1;
sbkSelf->containsCppWrapper = 1;
BindingManager::instance().registerWrapper(sbkSelf);
return 1;
SbkQLocalServer_Init_TypeError:
PyErr_SetString(PyExc_TypeError, "'QLocalServer()' called with wrong parameters.");
return -1;
}
static PyObject*
SbkQLocalServerFunc_close(PyObject* self)
{
if (Shiboken::cppObjectIsInvalid(self))
return 0;
// close()
QLocalServer* cppSelf = SbkQLocalServer_cptr(self);
cppSelf->QLocalServer::close();
if (PyErr_Occurred()) {
return 0;
}
Py_RETURN_NONE;
}
static PyObject*
SbkQLocalServerFunc_errorString(PyObject* self)
{
if (Shiboken::cppObjectIsInvalid(self))
return 0;
PyObject* py_result = 0;
// errorString()const
QLocalServer* cppSelf = SbkQLocalServer_cptr(self);
QString cpp_result = cppSelf->QLocalServer::errorString();
py_result = Shiboken::Converter<QString >::toPython(cpp_result);
if (PyErr_Occurred() || !py_result) {
Py_XDECREF(py_result);
return 0;
}
return py_result;
;
}
static PyObject*
SbkQLocalServerFunc_fullServerName(PyObject* self)
{
if (Shiboken::cppObjectIsInvalid(self))
return 0;
PyObject* py_result = 0;
// fullServerName()const
QLocalServer* cppSelf = SbkQLocalServer_cptr(self);
QString cpp_result = cppSelf->QLocalServer::fullServerName();
py_result = Shiboken::Converter<QString >::toPython(cpp_result);
if (PyErr_Occurred() || !py_result) {
Py_XDECREF(py_result);
return 0;
}
return py_result;
;
}
static PyObject*
SbkQLocalServerFunc_hasPendingConnections(PyObject* self)
{
if (Shiboken::cppObjectIsInvalid(self))
return 0;
PyObject* py_result = 0;
// hasPendingConnections()const
QLocalServer* cppSelf = SbkQLocalServer_cptr(self);
bool cpp_result = cppSelf->QLocalServer::hasPendingConnections();
py_result = Shiboken::Converter<bool >::toPython(cpp_result);
if (PyErr_Occurred() || !py_result) {
Py_XDECREF(py_result);
return 0;
}
return py_result;
;
}
static PyObject*
SbkQLocalServerFunc_isListening(PyObject* self)
{
if (Shiboken::cppObjectIsInvalid(self))
return 0;
PyObject* py_result = 0;
// isListening()const
QLocalServer* cppSelf = SbkQLocalServer_cptr(self);
bool cpp_result = cppSelf->QLocalServer::isListening();
py_result = Shiboken::Converter<bool >::toPython(cpp_result);
if (PyErr_Occurred() || !py_result) {
Py_XDECREF(py_result);
return 0;
}
return py_result;
;
}
static PyObject*
SbkQLocalServerFunc_listen(PyObject* self, PyObject* arg)
{
if (Shiboken::cppObjectIsInvalid(self))
return 0;
PyObject* py_result = 0;
if ((SbkQString_Check(arg) || Shiboken::Converter<QString >::isConvertible(arg))) {
if ((SbkQString_Check(arg) || SbkQChar_Check(arg) || SbkQByteArray_Check(arg) || SbkQLatin1String_Check(arg)) && Shiboken::cppObjectIsInvalid(arg))
return 0;
std::auto_ptr<QString > cpp_arg0_auto_ptr;
QString* cpp_arg0 = Shiboken::Converter<QString* >::toCpp(arg);
if (!SbkQString_Check(arg))
cpp_arg0_auto_ptr = std::auto_ptr<QString >(cpp_arg0);
// listen(QString)
QLocalServer* cppSelf = SbkQLocalServer_cptr(self);
bool cpp_result = cppSelf->QLocalServer::listen(*cpp_arg0);
py_result = Shiboken::Converter<bool >::toPython(cpp_result);
} else goto SbkQLocalServerFunc_listen_TypeError;
if (PyErr_Occurred() || !py_result) {
Py_XDECREF(py_result);
return 0;
}
return py_result;
;
SbkQLocalServerFunc_listen_TypeError:
PyErr_SetString(PyExc_TypeError, "'listen()' called with wrong parameters.");
return 0;
}
static PyObject*
SbkQLocalServerFunc_maxPendingConnections(PyObject* self)
{
if (Shiboken::cppObjectIsInvalid(self))
return 0;
PyObject* py_result = 0;
// maxPendingConnections()const
QLocalServer* cppSelf = SbkQLocalServer_cptr(self);
int cpp_result = cppSelf->QLocalServer::maxPendingConnections();
py_result = Shiboken::Converter<int >::toPython(cpp_result);
if (PyErr_Occurred() || !py_result) {
Py_XDECREF(py_result);
return 0;
}
return py_result;
;
}
static PyObject*
SbkQLocalServerFunc_nextPendingConnection(PyObject* self)
{
if (Shiboken::cppObjectIsInvalid(self))
return 0;
PyObject* py_result = 0;
// nextPendingConnection()
QLocalServer* cppSelf = SbkQLocalServer_cptr(self);
QLocalSocket * cpp_result = cppSelf->QLocalServer::nextPendingConnection();
py_result = Shiboken::Converter<QLocalSocket* >::toPython(cpp_result);
if (PyErr_Occurred() || !py_result) {
Py_XDECREF(py_result);
return 0;
}
return py_result;
;
}
static PyObject*
SbkQLocalServerFunc_removeServer(PyObject* self, PyObject* arg)
{
PyObject* py_result = 0;
if ((SbkQString_Check(arg) || Shiboken::Converter<QString >::isConvertible(arg))) {
if ((SbkQString_Check(arg) || SbkQChar_Check(arg) || SbkQByteArray_Check(arg) || SbkQLatin1String_Check(arg)) && Shiboken::cppObjectIsInvalid(arg))
return 0;
std::auto_ptr<QString > cpp_arg0_auto_ptr;
QString* cpp_arg0 = Shiboken::Converter<QString* >::toCpp(arg);
if (!SbkQString_Check(arg))
cpp_arg0_auto_ptr = std::auto_ptr<QString >(cpp_arg0);
// removeServer(QString)
bool cpp_result = QLocalServer::removeServer(*cpp_arg0);
py_result = Shiboken::Converter<bool >::toPython(cpp_result);
} else goto SbkQLocalServerFunc_removeServer_TypeError;
if (PyErr_Occurred() || !py_result) {
Py_XDECREF(py_result);
return 0;
}
return py_result;
;
SbkQLocalServerFunc_removeServer_TypeError:
PyErr_SetString(PyExc_TypeError, "'removeServer()' called with wrong parameters.");
return 0;
}
static PyObject*
SbkQLocalServerFunc_serverError(PyObject* self)
{
if (Shiboken::cppObjectIsInvalid(self))
return 0;
PyObject* py_result = 0;
// serverError()const
QLocalServer* cppSelf = SbkQLocalServer_cptr(self);
QAbstractSocket::SocketError cpp_result = cppSelf->QLocalServer::serverError();
py_result = Shiboken::Converter<QAbstractSocket::SocketError >::toPython(cpp_result);
if (PyErr_Occurred() || !py_result) {
Py_XDECREF(py_result);
return 0;
}
return py_result;
;
}
static PyObject*
SbkQLocalServerFunc_serverName(PyObject* self)
{
if (Shiboken::cppObjectIsInvalid(self))
return 0;
PyObject* py_result = 0;
// serverName()const
QLocalServer* cppSelf = SbkQLocalServer_cptr(self);
QString cpp_result = cppSelf->QLocalServer::serverName();
py_result = Shiboken::Converter<QString >::toPython(cpp_result);
if (PyErr_Occurred() || !py_result) {
Py_XDECREF(py_result);
return 0;
}
return py_result;
;
}
static PyObject*
SbkQLocalServerFunc_setMaxPendingConnections(PyObject* self, PyObject* arg)
{
if (Shiboken::cppObjectIsInvalid(self))
return 0;
if (PyNumber_Check(arg)) {
int cpp_arg0 = Shiboken::Converter<int >::toCpp(arg);
// setMaxPendingConnections(int)
QLocalServer* cppSelf = SbkQLocalServer_cptr(self);
cppSelf->QLocalServer::setMaxPendingConnections(cpp_arg0);
} else goto SbkQLocalServerFunc_setMaxPendingConnections_TypeError;
if (PyErr_Occurred()) {
return 0;
}
Py_RETURN_NONE;
SbkQLocalServerFunc_setMaxPendingConnections_TypeError:
PyErr_SetString(PyExc_TypeError, "'setMaxPendingConnections()' called with wrong parameters.");
return 0;
}
static PyObject*
SbkQLocalServerFunc_waitForNewConnection(PyObject* self, PyObject* arg)
{
if (Shiboken::cppObjectIsInvalid(self))
return 0;
PyObject* py_result = 0;
Shiboken::ThreadStateSaver thread_state_saver;
int numArgs = PyTuple_GET_SIZE(args);
PyObject* pyargs[] = {0};
if (!PyArg_UnpackTuple(args, "waitForNewConnection", -1, 1, &(pyargs[0])))
return 0;
if (numArgs == 0) {
// waitForNewConnection(int,bool*)
QLocalServer* cppSelf = SbkQLocalServer_cptr(self);
// TEMPLATE - fix_args,bool* - START
bool ok_;
bool retval_ = cppSelf->waitForNewConnection(cpp_arg0, &ok_);
py_result = PyTuple_Pack(2, Shiboken::Converter<bool >::toPython(retval_), Shiboken::Converter<bool >::toPython(ok_));
// TEMPLATE - fix_args,bool* - END
} else if (PyNumber_Check(arg)) {
int cpp_arg0 = Shiboken::Converter<int >::toCpp(arg);
// waitForNewConnection(int,bool*)
QLocalServer* cppSelf = SbkQLocalServer_cptr(self);
// TEMPLATE - fix_args,bool* - START
bool ok_;
bool retval_ = cppSelf->waitForNewConnection(cpp_arg0, &ok_);
py_result = PyTuple_Pack(2, Shiboken::Converter<bool >::toPython(retval_), Shiboken::Converter<bool >::toPython(ok_));
// TEMPLATE - fix_args,bool* - END
} else goto SbkQLocalServerFunc_waitForNewConnection_TypeError;
if (PyErr_Occurred() || !py_result) {
Py_XDECREF(py_result);
return 0;
}
return py_result;
;
SbkQLocalServerFunc_waitForNewConnection_TypeError:
PyErr_SetString(PyExc_TypeError, "'waitForNewConnection()' called with wrong parameters.");
return 0;
}
static PyMethodDef SbkQLocalServer_methods[] = {
{"close", (PyCFunction)SbkQLocalServerFunc_close, METH_NOARGS},
{"errorString", (PyCFunction)SbkQLocalServerFunc_errorString, METH_NOARGS},
{"fullServerName", (PyCFunction)SbkQLocalServerFunc_fullServerName, METH_NOARGS},
{"hasPendingConnections", (PyCFunction)SbkQLocalServerFunc_hasPendingConnections, METH_NOARGS},
{"isListening", (PyCFunction)SbkQLocalServerFunc_isListening, METH_NOARGS},
{"listen", (PyCFunction)SbkQLocalServerFunc_listen, METH_O},
{"maxPendingConnections", (PyCFunction)SbkQLocalServerFunc_maxPendingConnections, METH_NOARGS},
{"nextPendingConnection", (PyCFunction)SbkQLocalServerFunc_nextPendingConnection, METH_NOARGS},
{"removeServer", (PyCFunction)SbkQLocalServerFunc_removeServer, METH_O|METH_STATIC},
{"serverError", (PyCFunction)SbkQLocalServerFunc_serverError, METH_NOARGS},
{"serverName", (PyCFunction)SbkQLocalServerFunc_serverName, METH_NOARGS},
{"setMaxPendingConnections", (PyCFunction)SbkQLocalServerFunc_setMaxPendingConnections, METH_O},
{"waitForNewConnection", (PyCFunction)SbkQLocalServerFunc_waitForNewConnection, |METH_O},
{0} // Sentinel
};
extern "C"
{
// Class Definition -----------------------------------------------
Shiboken::SbkBaseWrapperType SbkQLocalServer_Type = { { {
PyObject_HEAD_INIT(&Shiboken::SbkBaseWrapperType_Type)
/*ob_size*/ 0,
/*tp_name*/ "QLocalServer",
/*tp_basicsize*/ sizeof(Shiboken::SbkBaseWrapper),
/*tp_itemsize*/ 0,
/*tp_dealloc*/ (destructor)&(Shiboken::SbkBaseWrapper_Dealloc< QLocalServerWrapper >),
/*tp_print*/ 0,
/*tp_getattr*/ 0,
/*tp_setattr*/ 0,
/*tp_compare*/ 0,
/*tp_repr*/ 0,
/*tp_as_number*/ 0,
/*tp_as_sequence*/ 0,
/*tp_as_mapping*/ 0,
/*tp_hash*/ 0,
/*tp_call*/ 0,
/*tp_str*/ 0,
/*tp_getattro*/ 0,
/*tp_setattro*/ 0,
/*tp_as_buffer*/ 0,
/*tp_flags*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_CHECKTYPES,
/*tp_doc*/ 0,
/*tp_traverse*/ 0,
/*tp_clear*/ 0,
/*tp_richcompare*/ 0,
/*tp_weaklistoffset*/ 0,
/*tp_iter*/ 0,
/*tp_iternext*/ 0,
/*tp_methods*/ SbkQLocalServer_methods,
/*tp_members*/ 0,
/*tp_getset*/ 0,
/*tp_base*/ (PyTypeObject*)&SbkQObject_Type,
/*tp_dict*/ 0,
/*tp_descr_get*/ 0,
/*tp_descr_set*/ 0,
/*tp_dictoffset*/ 0,
/*tp_init*/ SbkQLocalServer_Init,
/*tp_alloc*/ 0,
/*tp_new*/ Shiboken::SbkBaseWrapper_TpNew,
/*tp_free*/ 0,
/*tp_is_gc*/ 0,
/*tp_bases*/ 0,
/*tp_mro*/ 0,
/*tp_cache*/ 0,
/*tp_subclasses*/ 0,
/*tp_weaklist*/ 0
}, },
/*mi_offsets*/ 0,
/*mi_init*/ 0,
/*mi_specialcast*/ 0,
/*type_name_func*/ SbkQLocalServer_typeName
};
PyAPI_FUNC(void)
init_QLocalServer(PyObject* module)
{
if (PyType_Ready((PyTypeObject*)&SbkQLocalServer_Type) < 0)
return;
Py_INCREF(&SbkQLocalServer_Type);
PyModule_AddObject(module, "QLocalServer",
((PyObject*)&SbkQLocalServer_Type));
Shiboken::TypeResolver::createObjectTypeResolver<QLocalServer >("QLocalServer*");
Shiboken::TypeResolver::createObjectTypeResolver<QLocalServer >(typeid(QLocalServer).name());
}
} // extern "C"
namespace Shiboken
{
// Copy C++ object implementation
// Converter implementations
} // namespace Shiboken
_______________________________________________
PySide mailing list
[email protected]
http://lists.openbossa.org/listinfo/pyside