summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGian Mario Tagliaretti <gianmt@gnome.org>2009-12-31 09:59:46 +0100
committerGian Mario Tagliaretti <gianmt@gnome.org>2009-12-31 09:59:46 +0100
commit9c930910505d5b9001b8cec17ff98fadeaa799e2 (patch)
tree3d01a74cacf5fc546efbc4746421eb58c320db40
parentdff024256295c15e49888ad9d5fef74a7746edd7 (diff)
downloadpygobject-9c930910505d5b9001b8cec17ff98fadeaa799e2.tar.gz
pygobject-9c930910505d5b9001b8cec17ff98fadeaa799e2.tar.xz
pygobject-9c930910505d5b9001b8cec17ff98fadeaa799e2.zip
Wrap gio.SocketClient.connect_async()
-rw-r--r--gio/gsocket.override45
1 files changed, 45 insertions, 0 deletions
diff --git a/gio/gsocket.override b/gio/gsocket.override
index 95e6527..c44af34 100644
--- a/gio/gsocket.override
+++ b/gio/gsocket.override
@@ -108,6 +108,51 @@ _wrap_g_socket_address_enumerator_next_async(PyGObject *self,
pygio_notify_free(notify);
return NULL;
}
+%%
+override g_socket_client_connect_async kwargs
+static PyObject *
+_wrap_g_socket_client_connect_async(PyGObject *self,
+ PyObject *args,
+ PyObject *kwargs)
+{
+ static char *kwlist[] = { "callback", "connectable", "cancellable", "user_data", NULL };
+ PyGIONotify *notify;
+ PyGObject *py_cancellable = NULL;
+ GCancellable *cancellable;
+ PyGObject *py_connectable;
+
+ notify = pygio_notify_new();
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "OO|OO:gio.SocketClient.connect_async",
+ kwlist,
+ &notify->callback,
+ &py_connectable,
+ &py_cancellable,
+ &notify->data))
+ goto error;
+
+ if (!pygio_notify_callback_is_valid(notify))
+ goto error;
+
+ if (!pygio_check_cancellable(py_cancellable, &cancellable))
+ goto error;
+
+ pygio_notify_reference_callback(notify);
+
+ g_socket_client_connect_async(G_SOCKET_CLIENT(self->obj),
+ G_SOCKET_CONNECTABLE(py_connectable->obj),
+ cancellable,
+ (GAsyncReadyCallback) async_result_callback_marshal,
+ notify);
+
+ Py_INCREF(Py_None);
+ return Py_None;
+
+ error:
+ pygio_notify_free(notify);
+ return NULL;
+}
/* Could not write method GSocket.receive_from: No ArgType for GSocketAddress** */
/* Could not write method GSocket.receive_message: No ArgType for GSocketAddress** */