aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/PySide6/glue/qtnetwork.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2021-06-16 13:23:49 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2021-06-17 06:57:22 +0200
commite392613181ef5d8592989addbd01f96dbebf65e8 (patch)
tree4d19ee978351f75620389fe1e39a2be7fc91601e /sources/pyside6/PySide6/glue/qtnetwork.cpp
parent8e731da36ee8616f2da005f19c7a6c8c02665118 (diff)
PySide6: Expose QHostInfo.lookupHost()
Pick-to: 6.1 Fixes: PYSIDE-1160 Change-Id: If8fa16d965fcadaf622beee9ee45e207dc7195d8 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'sources/pyside6/PySide6/glue/qtnetwork.cpp')
-rw-r--r--sources/pyside6/PySide6/glue/qtnetwork.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/sources/pyside6/PySide6/glue/qtnetwork.cpp b/sources/pyside6/PySide6/glue/qtnetwork.cpp
index cdb330c40..277dd6d7c 100644
--- a/sources/pyside6/PySide6/glue/qtnetwork.cpp
+++ b/sources/pyside6/PySide6/glue/qtnetwork.cpp
@@ -51,6 +51,22 @@ PyTuple_SET_ITEM(%PYARG_0, 1, %CONVERTTOPYTHON[QHostAddress](ha));
PyTuple_SET_ITEM(%PYARG_0, 2, %CONVERTTOPYTHON[quint16](port));
// @snippet qudpsocket-readdatagram
+// @snippet qhostinfo-lookuphost-callable
+auto *callable = %PYARG_2;
+auto cppCallback = [callable](const QHostInfo &hostInfo)
+{
+ Shiboken::GilState state;
+ Shiboken::AutoDecRef arglist(PyTuple_New(1));
+ auto *pyHostInfo = %CONVERTTOPYTHON[QHostInfo](hostInfo);
+ PyTuple_SET_ITEM(arglist.object(), 0, pyHostInfo);
+ Shiboken::AutoDecRef ret(PyObject_CallObject(callable, arglist));
+ Py_DECREF(callable);
+};
+
+Py_INCREF(callable);
+%CPPSELF.%FUNCTION_NAME(%1, cppCallback);
+// @snippet qhostinfo-lookuphost-callable
+
// @snippet qipv6address-len
return 16;
// @snippet qipv6address-len