diff options
| author | Gian Mario Tagliaretti <gianmt@gnome.org> | 2009-12-30 14:07:52 +0100 |
|---|---|---|
| committer | Gian Mario Tagliaretti <gianmt@gnome.org> | 2009-12-30 14:07:52 +0100 |
| commit | de7a359e81792ae8573ac944455ea289985449ed (patch) | |
| tree | 540715383dc3fb3d1be7bd17da60d58e5910ad9d /gio/gresolver.override | |
| parent | 308421789ce849040d645077c41c80b6e2e65e83 (diff) | |
| download | pygobject-de7a359e81792ae8573ac944455ea289985449ed.tar.gz pygobject-de7a359e81792ae8573ac944455ea289985449ed.tar.xz pygobject-de7a359e81792ae8573ac944455ea289985449ed.zip | |
Wrap gio.Resolver.lookup_service_finish() and add a test
Diffstat (limited to 'gio/gresolver.override')
| -rw-r--r-- | gio/gresolver.override | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/gio/gresolver.override b/gio/gresolver.override index 4acd8d8..a94b8a5 100644 --- a/gio/gresolver.override +++ b/gio/gresolver.override @@ -273,3 +273,40 @@ _wrap_g_resolver_lookup_service_async(PyGObject *self, pygio_notify_free(notify); return NULL; } +%% +override g_resolver_lookup_service_finish kwargs +static PyObject * +_wrap_g_resolver_lookup_service_finish(PyGObject *self, + PyObject *args, + PyObject *kwargs) +{ + static char *kwlist[] = { "result", NULL }; + PyGObject *result; + GList *targets; + PyObject *ret; + GError *error = NULL; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, + "O!:gio.Resolver.lookup_service_finish", + kwlist, + &PyGAsyncResult_Type, + &result)) + return NULL; + + targets = g_resolver_lookup_service_finish(G_RESOLVER(self->obj), + G_ASYNC_RESULT(result->obj), + &error); + + if (pyg_error_check(&error)) + return NULL; + + if (targets) { + PYLIST_FROMGLIST(ret, targets, + pyg_boxed_new(G_TYPE_SRV_TARGET, list_item, TRUE, TRUE), + g_resolver_free_targets, NULL); + return ret; + } else { + Py_INCREF(Py_None); + return Py_None; + } +} |
