diff options
| author | Johan Dahlin <johan@gnome.org> | 2008-04-06 16:26:32 +0000 |
|---|---|---|
| committer | Johan Dahlin <johan@src.gnome.org> | 2008-04-06 16:26:32 +0000 |
| commit | c4b8a3d1228ac04ba7bef92e63f3d9253cf87897 (patch) | |
| tree | 27ec29c0a4b8d01201b55d8d17e3003726f62e44 /gio | |
| parent | bfddf0013060b64b55df5feb6cdacb17b970ae68 (diff) | |
| download | pygobject-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.override | 54 | ||||
| -rw-r--r-- | gio/goutputstream.override | 112 |
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, + ¬ify->callback, + ¬ify->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, + ¬ify->callback, + ¬ify->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, + ¬ify->callback, + ¬ify->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; +} |
