diff options
author | Gian Mario Tagliaretti <gianmt@gnome.org> | 2010-01-01 18:02:46 +0100 |
---|---|---|
committer | Gian Mario Tagliaretti <gianmt@gnome.org> | 2010-01-01 18:02:46 +0100 |
commit | e700efc839fc0b651fc9794a1611190bffa80263 (patch) | |
tree | 72c5586253a06e2c4b6bf2bfea8321b0df65d14a /gio | |
parent | 92662f129fc728258fd5e34f53dcb081e3715017 (diff) | |
download | pygobject-e700efc839fc0b651fc9794a1611190bffa80263.tar.gz pygobject-e700efc839fc0b651fc9794a1611190bffa80263.tar.xz pygobject-e700efc839fc0b651fc9794a1611190bffa80263.zip |
Wrap gio.File.replace_readwrite_async()
Diffstat (limited to 'gio')
-rw-r--r-- | gio/gfile.override | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/gio/gfile.override b/gio/gfile.override index 6e84967..49168a7 100644 --- a/gio/gfile.override +++ b/gio/gfile.override @@ -1051,6 +1051,61 @@ _wrap_g_file_open_readwrite_async(PyGObject *self, return NULL; } %% +override g_file_replace_readwrite_async kwargs +static PyObject * +_wrap_g_file_replace_readwrite_async(PyGObject *self, PyObject *args, PyObject *kwargs) +{ + static char *kwlist[] = { "callback", "etag", "make_backup", "flags", + "io_priority", "cancellable", "user_data", NULL }; + GCancellable *cancellable; + PyGObject *pycancellable = NULL; + GFileCreateFlags flags = G_FILE_CREATE_NONE; + PyObject *py_flags = NULL; + int io_priority = G_PRIORITY_DEFAULT; + char *etag = NULL; + gboolean make_backup = TRUE; + PyObject *py_backup = Py_True; + PyGIONotify *notify; + + notify = pygio_notify_new(); + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, + "O|zOOiOO:File.replace_readwrite_async", + kwlist, + ¬ify->callback, + &etag, &py_backup, + &flags, &io_priority, + &pycancellable, + ¬ify->data)) + goto error; + + make_backup = PyObject_IsTrue(py_backup) ? TRUE : FALSE; + + if (!pygio_notify_callback_is_valid(notify)) + goto error; + + if (py_flags && pyg_flags_get_value(G_TYPE_FILE_CREATE_FLAGS, + py_flags, (gpointer)&flags)) + goto error; + + if (!pygio_check_cancellable(pycancellable, &cancellable)) + goto error; + + pygio_notify_reference_callback(notify); + + g_file_replace_readwrite_async(G_FILE(self->obj), etag, make_backup, flags, + io_priority, cancellable, + (GAsyncReadyCallback)async_result_callback_marshal, + notify); + + Py_INCREF(Py_None); + return Py_None; + + error: + pygio_notify_free(notify); + return NULL; +} +%% override g_file_replace_async kwargs static PyObject * _wrap_g_file_replace_async(PyGObject *self, PyObject *args, PyObject *kwargs) |