After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 511580 - Implement g_file_copy_async
Implement g_file_copy_async
Status: RESOLVED FIXED
Product: glib
Classification: Platform
Component: gio
2.15.x
Other Linux
: Normal normal
: ---
Assigned To: Alexander Larsson
gtkdev
Depends on:
Blocks:
 
 
Reported: 2008-01-23 17:15 UTC by Carlos Garcia Campos
Modified: 2008-01-24 14:22 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch that adds g_file_copy_async (4.01 KB, patch)
2008-01-23 17:17 UTC, Carlos Garcia Campos
none Details | Review
Add also finish method to symbols file (4.03 KB, patch)
2008-01-23 20:47 UTC, Carlos Garcia Campos
none Details | Review

Description Carlos Garcia Campos 2008-01-23 17:15:59 UTC
There should be an async version of g_file_copy in gio.
Comment 1 Carlos Garcia Campos 2008-01-23 17:17:16 UTC
Created attachment 103553 [details] [review]
Patch that adds g_file_copy_async
Comment 2 Wouter Bolsterlee (uws) 2008-01-23 19:43:48 UTC
shouldn't you add g_file_copy_finish to the symbols file as well?
Comment 3 Carlos Garcia Campos 2008-01-23 20:47:44 UTC
Created attachment 103576 [details] [review]
Add also finish method to symbols file

Yes Wouter, thank you!
Comment 4 Alexander Larsson 2008-01-24 11:06:22 UTC
There are two issues with this patch:
1) There is no way to override the behaviour in the backend.
   g_file_copy_async() should call a virtual method with a default implementation

2) The progress callbacks should be called on the main thread, not in the I/O thread.

I fixed these issues and commited to svn. Can you please test the commited code (I assume you have some use for this call).
Comment 5 Carlos Garcia Campos 2008-01-24 11:25:23 UTC
Yes, I used this simple program (http://people.freedesktop.org/~carlosgc/gfilecopy.c) and it works.