diff options
Diffstat (limited to 'PySide')
-rw-r--r-- | PySide/QtNetwork/glue/qudpsocket_read_datagram_glue.cpp | 6 | ||||
-rw-r--r-- | PySide/QtNetwork/typesystem_network.xml | 14 |
2 files changed, 13 insertions, 7 deletions
diff --git a/PySide/QtNetwork/glue/qudpsocket_read_datagram_glue.cpp b/PySide/QtNetwork/glue/qudpsocket_read_datagram_glue.cpp deleted file mode 100644 index bffc042d5..000000000 --- a/PySide/QtNetwork/glue/qudpsocket_read_datagram_glue.cpp +++ /dev/null @@ -1,6 +0,0 @@ - Shiboken::AutoArrayPointer<char> data(%ARGUMENT_NAMES); - QHostAddress ha; - quint16 port; - - %RETURN_TYPE retval = %CPPSELF.%FUNCTION_NAME(data, %ARGUMENT_NAMES, &ha, &port); - %PYARG_0 = Shiboken::makeTuple(QByteArray(data, retval), ha, port); diff --git a/PySide/QtNetwork/typesystem_network.xml b/PySide/QtNetwork/typesystem_network.xml index 250129b59..87cb7d979 100644 --- a/PySide/QtNetwork/typesystem_network.xml +++ b/PySide/QtNetwork/typesystem_network.xml @@ -136,7 +136,19 @@ <modify-argument index="return"> <replace-type modified-type="(data, address, port)"/> </modify-argument> - <inject-code class="target" position="beginning" file="glue/qudpsocket_read_datagram_glue.cpp"/> + <inject-code class="target" position="beginning"> + Shiboken::AutoArrayPointer<char> data(%ARGUMENT_NAMES); + QHostAddress ha; + quint16 port; + %BEGIN_ALLOW_THREADS + %RETURN_TYPE retval = %CPPSELF.%FUNCTION_NAME(data, %ARGUMENT_NAMES, &ha, &port); + %END_ALLOW_THREADS + QByteArray ba(data, retval); + PyObject* %PYARG_0 = PyTuple_New(3); + PyTuple_SET_ITEM(%PYARG_0, 0, %CONVERTTOPYTHON[QByteArray](ba)); + PyTuple_SET_ITEM(%PYARG_0, 1, %CONVERTTOPYTHON[QHostAddress](ha)); + PyTuple_SET_ITEM(%PYARG_0, 2, %CONVERTTOPYTHON[quint16](port)); + </inject-code> </modify-function> <modify-function signature="writeDatagram(const QByteArray&, const QHostAddress&, quint16)" allow-thread="yes"/> <!-- ### writeDatagram(QByteArray, ...) does the trick --> |