summaryrefslogtreecommitdiffstats
path: root/gio
diff options
context:
space:
mode:
authorJohan Dahlin <johan@gnome.org>2008-04-06 16:26:32 +0000
committerJohan Dahlin <johan@src.gnome.org>2008-04-06 16:26:32 +0000
commitc4b8a3d1228ac04ba7bef92e63f3d9253cf87897 (patch)
tree27ec29c0a4b8d01201b55d8d17e3003726f62e44 /gio
parentbfddf0013060b64b55df5feb6cdacb17b970ae68 (diff)
downloadpygobject-c4b8a3d1228ac04ba7bef92e63f3d9253cf87897.tar.gz
pygobject-c4b8a3d1228ac04ba7bef92e63f3d9253cf87897.tar.xz
pygobject-c4b8a3d1228ac04ba7bef92e63f3d9253cf87897.zip
Add wrappers.
2008-04-06 Johan Dahlin <johan@gnome.org> * gio/goutputstream.override: (_wrap_g_output_stream_write_asyn,_wrap_g_output_stream_close_async): * gio/ginputstream.override (async_result_callback_marshal_read): Add wrappers. svn path=/trunk/; revision=761
Diffstat (limited to 'gio')
-rw-r--r--gio/ginputstream.override54
-rw-r--r--gio/goutputstream.override112
2 files changed, 166 insertions, 0 deletions
diff --git a/gio/ginputstream.override b/gio/ginputstream.override
index 6a9cb6a..37f0225 100644
--- a/gio/ginputstream.override
+++ b/gio/ginputstream.override
@@ -234,3 +234,57 @@ _wrap_g_input_stream_read_finish(PyGObject *self, PyObject *args, PyObject *kwar
/* FIXME: Should we refcount the buffer here? */
return buffer;
}
+%%
+override g_input_stream_close_async kwargs
+static PyObject *
+_wrap_g_input_stream_close_async(PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+ static char *kwlist[] = { "io_priority", "cancellable",
+ "callback", "user_data", NULL };
+ int io_priority = G_PRIORITY_DEFAULT;
+ PyGObject *pycancellable;
+ GCancellable *cancellable;
+ PyGAsyncRequestNotify *notify;
+
+ notify = g_slice_new0(PyGAsyncRequestNotify);
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "iOO|O:InputStream.close_async",
+ kwlist,
+ &io_priority,
+ &pycancellable,
+ &notify->callback,
+ &notify->data))
+ {
+ g_slice_free(PyGAsyncRequestNotify, notify);
+ return NULL;
+ }
+
+ if ((PyObject*)pycancellable == Py_None)
+ cancellable = NULL;
+ else if (pygobject_check(pycancellable, &PyGCancellable_Type))
+ cancellable = G_CANCELLABLE(pycancellable->obj);
+ else
+ {
+ PyErr_SetString(PyExc_TypeError, "cancellable should be a gio.Cancellable");
+ return NULL;
+ }
+
+ if (!PyCallable_Check(notify->callback))
+ {
+ PyErr_SetString(PyExc_TypeError, "callback argument not callable");
+ g_slice_free(PyGAsyncRequestNotify, notify);
+ return NULL;
+ }
+ Py_INCREF(notify->callback);
+ Py_XINCREF(notify->data);
+
+ g_input_stream_close_async(G_INPUT_STREAM(self->obj),
+ io_priority,
+ cancellable,
+ (GAsyncReadyCallback)async_result_callback_marshal,
+ notify);
+
+ Py_INCREF(Py_None);
+ return Py_None;
+}
diff --git a/gio/goutputstream.override b/gio/goutputstream.override
index 6969d7f..cbf4efc 100644
--- a/gio/goutputstream.override
+++ b/gio/goutputstream.override
@@ -58,3 +58,115 @@ _wrap_g_output_stream_write(PyGObject *self, PyObject *args, PyObject *kwargs)
return PyInt_FromLong(written);
}
+%%
+override g_output_stream_write_async kwargs
+static PyObject *
+_wrap_g_output_stream_write_async(PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+ static char *kwlist[] = { "buffer", "io_priority", "cancellable",
+ "callback", "user_data", NULL };
+ gchar *buffer;
+ long count = -1;
+ int io_priority = G_PRIORITY_DEFAULT;
+ PyGObject *pycancellable;
+ GCancellable *cancellable;
+ PyGAsyncRequestNotify *notify;
+
+ notify = g_slice_new0(PyGAsyncRequestNotify);
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "s#iOO|O:OutputStream.write_async",
+ kwlist, &buffer, &count,
+ &io_priority,
+ &pycancellable,
+ &notify->callback,
+ &notify->data))
+ {
+ g_slice_free(PyGAsyncRequestNotify, notify);
+ return NULL;
+ }
+
+ if ((PyObject*)pycancellable == Py_None)
+ cancellable = NULL;
+ else if (pygobject_check(pycancellable, &PyGCancellable_Type))
+ cancellable = G_CANCELLABLE(pycancellable->obj);
+ else
+ {
+ PyErr_SetString(PyExc_TypeError, "cancellable should be a gio.Cancellable");
+ return NULL;
+ }
+
+ if (!PyCallable_Check(notify->callback))
+ {
+ PyErr_SetString(PyExc_TypeError, "callback argument not callable");
+ g_slice_free(PyGAsyncRequestNotify, notify);
+ return NULL;
+ }
+ Py_INCREF(notify->callback);
+ Py_XINCREF(notify->data);
+
+ g_output_stream_write_async(G_OUTPUT_STREAM(self->obj),
+ buffer,
+ count,
+ io_priority,
+ cancellable,
+ (GAsyncReadyCallback)async_result_callback_marshal,
+ notify);
+
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+%%
+override g_output_stream_close_async kwargs
+static PyObject *
+_wrap_g_output_stream_close_async(PyGObject *self, PyObject *args, PyObject *kwargs)
+{
+ static char *kwlist[] = { "io_priority", "cancellable",
+ "callback", "user_data", NULL };
+ int io_priority = G_PRIORITY_DEFAULT;
+ PyGObject *pycancellable;
+ GCancellable *cancellable;
+ PyGAsyncRequestNotify *notify;
+
+ notify = g_slice_new0(PyGAsyncRequestNotify);
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "iOO|O:OutputStream.close_async",
+ kwlist,
+ &io_priority,
+ &pycancellable,
+ &notify->callback,
+ &notify->data))
+ {
+ g_slice_free(PyGAsyncRequestNotify, notify);
+ return NULL;
+ }
+
+ if ((PyObject*)pycancellable == Py_None)
+ cancellable = NULL;
+ else if (pygobject_check(pycancellable, &PyGCancellable_Type))
+ cancellable = G_CANCELLABLE(pycancellable->obj);
+ else
+ {
+ PyErr_SetString(PyExc_TypeError, "cancellable should be a gio.Cancellable");
+ return NULL;
+ }
+
+ if (!PyCallable_Check(notify->callback))
+ {
+ PyErr_SetString(PyExc_TypeError, "callback argument not callable");
+ g_slice_free(PyGAsyncRequestNotify, notify);
+ return NULL;
+ }
+ Py_INCREF(notify->callback);
+ Py_XINCREF(notify->data);
+
+ g_output_stream_close_async(G_OUTPUT_STREAM(self->obj),
+ io_priority,
+ cancellable,
+ (GAsyncReadyCallback)async_result_callback_marshal,
+ notify);
+
+ Py_INCREF(Py_None);
+ return Py_None;
+}