GNOME Bugzilla – Bug 708297
Support for async-scoped "progress" type callbacks
Last modified: 2015-02-07 16:49:22 UTC
We have a few APIs in GIO now, particularly on GFile that are unbindable. For example: void g_file_copy_async (GFile *source, GFile *destination, GFileCopyFlags flags, int io_priority, GCancellable *cancellable, GFileProgressCallback progress_callback, gpointer progress_callback_data, GAsyncReadyCallback callback, gpointer user_data); and the new: g_file_measure_disk_usage_async (GFile *file, GFileMeasureFlags flags, gint io_priority, GCancellable *cancellable, GFileMeasureProgressCallback progress_callback, gpointer progress_data, GAsyncReadyCallback callback, gpointer user_data); These are unbindable because the scope of the progress_data argument is weird. To a C programmer, it's very clear that you will get progress callbacks until the async operation is complete, at which point they will stop. We should teach gobject-introspection about this by way of some sort of (scope asynccall) annotation. ie: the progress_data will be freed at the same time as the user_data that was marked (scope async) -- when the async call is delivered.
*** This bug has been marked as a duplicate of bug 616044 ***
[Mass-moving gobject-introspection tickets to its own Bugzilla product - see bug 708029. Mass-filter your bugmail for this message: introspection20150207 ]