diff options
Diffstat (limited to 'gio/goutputstream.override')
-rw-r--r-- | gio/goutputstream.override | 66 |
1 files changed, 38 insertions, 28 deletions
diff --git a/gio/goutputstream.override b/gio/goutputstream.override index cbf4efc..1125909 100644 --- a/gio/goutputstream.override +++ b/gio/goutputstream.override @@ -22,7 +22,9 @@ %% override g_output_stream_write kwargs static PyObject * -_wrap_g_output_stream_write(PyGObject *self, PyObject *args, PyObject *kwargs) +_wrap_g_output_stream_write(PyGObject *self, + PyObject *args, + PyObject *kwargs) { static char *kwlist[] = { "buffer", "cancellable", NULL }; PyGObject *pycancellable = NULL; @@ -38,13 +40,14 @@ _wrap_g_output_stream_write(PyGObject *self, PyObject *args, PyObject *kwargs) &PyGCancellable_Type, &pycancellable)) return NULL; - if (!pycancellable) + if (pycancellable == NULL || (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"); + PyErr_SetString(PyExc_TypeError, + "cancellable should be a gio.Cancellable"); return NULL; } @@ -61,41 +64,34 @@ _wrap_g_output_stream_write(PyGObject *self, PyObject *args, PyObject *kwargs) %% override g_output_stream_write_async kwargs static PyObject * -_wrap_g_output_stream_write_async(PyGObject *self, PyObject *args, PyObject *kwargs) +_wrap_g_output_stream_write_async(PyGObject *self, + PyObject *args, + PyObject *kwargs) { - static char *kwlist[] = { "buffer", "io_priority", "cancellable", - "callback", "user_data", NULL }; + static char *kwlist[] = { "buffer", "callback", "io_priority", "cancellable", + "user_data", NULL }; gchar *buffer; long count = -1; int io_priority = G_PRIORITY_DEFAULT; - PyGObject *pycancellable; + PyGObject *pycancellable = NULL; GCancellable *cancellable; PyGAsyncRequestNotify *notify; notify = g_slice_new0(PyGAsyncRequestNotify); if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "s#iOO|O:OutputStream.write_async", - kwlist, &buffer, &count, + "s#O|iOO:OutputStream.write_async", + kwlist, &buffer, + &count, + ¬ify->callback, &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"); @@ -105,6 +101,17 @@ _wrap_g_output_stream_write_async(PyGObject *self, PyObject *args, PyObject *kwa Py_INCREF(notify->callback); Py_XINCREF(notify->data); + if (pycancellable == NULL || (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; + } + g_output_stream_write_async(G_OUTPUT_STREAM(self->obj), buffer, count, @@ -119,36 +126,39 @@ _wrap_g_output_stream_write_async(PyGObject *self, PyObject *args, PyObject *kwa %% override g_output_stream_close_async kwargs static PyObject * -_wrap_g_output_stream_close_async(PyGObject *self, PyObject *args, PyObject *kwargs) +_wrap_g_output_stream_close_async(PyGObject *self, + PyObject *args, + PyObject *kwargs) { - static char *kwlist[] = { "io_priority", "cancellable", - "callback", "user_data", NULL }; + static char *kwlist[] = { "callback", "io_priority", + "cancellable", "user_data", NULL }; int io_priority = G_PRIORITY_DEFAULT; - PyGObject *pycancellable; + PyGObject *pycancellable = NULL; GCancellable *cancellable; PyGAsyncRequestNotify *notify; notify = g_slice_new0(PyGAsyncRequestNotify); if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "iOO|O:OutputStream.close_async", + "O|iOO:OutputStream.close_async", kwlist, + ¬ify->callback, &io_priority, &pycancellable, - ¬ify->callback, ¬ify->data)) { g_slice_free(PyGAsyncRequestNotify, notify); return NULL; } - if ((PyObject*)pycancellable == Py_None) + if (pycancellable == NULL || (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"); + PyErr_SetString(PyExc_TypeError, + "cancellable should be a gio.Cancellable"); return NULL; } |