1 /* -*- Mode: C; c-basic-offset: 4 -*-
2 * pygobject - Python bindings for GObject
3 * Copyright (C) 2009 Gian Mario Tagliaretti
5 * gresolver.override: module overrides for GResolver
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
23 override g_resolver_lookup_by_name kwargs
25 _wrap_g_resolver_lookup_by_name(PyGObject *self,
29 static char *kwlist[] = { "hostname", "cancellable", NULL };
31 PyGObject *pycancellable = NULL;
32 GCancellable *cancellable;
37 if (!PyArg_ParseTupleAndKeywords(args, kwargs,
38 "s|O:gio.Resolver.lookup_by_name",
44 if (!pygio_check_cancellable(pycancellable, &cancellable))
47 addr = g_resolver_lookup_by_name(G_RESOLVER(self->obj),
48 hostname, cancellable, &error);
51 PYLIST_FROMGLIST(ret, addr, pygobject_new(list_item), g_resolver_free_addresses, NULL);
59 override g_resolver_lookup_by_name_async kwargs
61 _wrap_g_resolver_lookup_by_name_async(PyGObject *self,
65 static char *kwlist[] = { "callback", "hostname",
66 "cancellable", "user_data", NULL };
69 PyGObject *py_cancellable = NULL;
70 GCancellable *cancellable;
72 notify = pygio_notify_new();
74 if (!PyArg_ParseTupleAndKeywords(args, kwargs,
75 "Os|OO:gio.Resolver.lookup_by_name_async",
83 if (!pygio_notify_callback_is_valid(notify))
86 if (!pygio_check_cancellable(py_cancellable, &cancellable))
89 pygio_notify_reference_callback(notify);
91 g_resolver_lookup_by_name_async(G_RESOLVER(self->obj),
94 (GAsyncReadyCallback) async_result_callback_marshal,
101 pygio_notify_free(notify);
105 override g_resolver_lookup_by_name_finish kwargs
107 _wrap_g_resolver_lookup_by_name_finish(PyGObject *self,
111 static char *kwlist[] = { "result", NULL };
115 GError *error = NULL;
117 if (!PyArg_ParseTupleAndKeywords(args, kwargs,
118 "O!:gio.Resolver.lookup_by_name_finish",
120 &PyGAsyncResult_Type,
124 addr = g_resolver_lookup_by_name_finish(G_RESOLVER(self->obj),
125 G_ASYNC_RESULT(result->obj),
128 if (pyg_error_check(&error))
132 PYLIST_FROMGLIST(ret, addr, pygobject_new(list_item),
133 g_resolver_free_addresses, NULL);
141 override g_resolver_lookup_by_address_async kwargs
143 _wrap_g_resolver_lookup_by_address_async(PyGObject *self,
147 static char *kwlist[] = { "callback", "address",
148 "cancellable", "user_data", NULL };
151 PyGObject *py_cancellable = NULL;
152 GCancellable *cancellable;
154 notify = pygio_notify_new();
156 if (!PyArg_ParseTupleAndKeywords(args, kwargs,
157 "OO|OO:gio.Resolver.lookup_by_address_async",
165 if (!pygio_notify_callback_is_valid(notify))
168 if (!pygio_check_cancellable(py_cancellable, &cancellable))
171 pygio_notify_reference_callback(notify);
173 g_resolver_lookup_by_address_async(G_RESOLVER(self->obj),
174 G_INET_ADDRESS(address->obj),
176 (GAsyncReadyCallback) async_result_callback_marshal,
183 pygio_notify_free(notify);
187 override g_resolver_lookup_service kwargs
189 _wrap_g_resolver_lookup_service(PyGObject *self,
193 static char *kwlist[] = { "service", "protocol",
194 "domain", "cancellable", NULL };
195 gchar *service, *protocol, *domain;
196 PyGObject *pycancellable = NULL;
197 GCancellable *cancellable;
199 GError *error = NULL;
202 if (!PyArg_ParseTupleAndKeywords(args, kwargs,
203 "sss|O:gio.Resolver.lookup_service",
211 if (!pygio_check_cancellable(pycancellable, &cancellable))
214 targets = g_resolver_lookup_service(G_RESOLVER(self->obj),
215 service, protocol, domain,
216 cancellable, &error);
219 PYLIST_FROMGLIST(ret, targets,
220 pyg_boxed_new(G_TYPE_SRV_TARGET, list_item, TRUE, TRUE),
221 g_resolver_free_targets, NULL);
229 override g_resolver_lookup_service_async kwargs
231 _wrap_g_resolver_lookup_service_async(PyGObject *self,
235 static char *kwlist[] = { "callback", "service", "protocol", "domain"
236 "cancellable", "user_data", NULL };
238 gchar *service, *protocol, *domain;
239 PyGObject *py_cancellable = NULL;
240 GCancellable *cancellable;
242 notify = pygio_notify_new();
244 if (!PyArg_ParseTupleAndKeywords(args, kwargs,
245 "Osss|OO:gio.Resolver.lookup_service_async",
255 if (!pygio_notify_callback_is_valid(notify))
258 if (!pygio_check_cancellable(py_cancellable, &cancellable))
261 pygio_notify_reference_callback(notify);
263 g_resolver_lookup_service_async(G_RESOLVER(self->obj),
264 service, protocol, domain,
266 (GAsyncReadyCallback) async_result_callback_marshal,
273 pygio_notify_free(notify);