gnome-vfs has the dreaded gnome_vfs_xfer_uri_list()
function which
has tons of options and offers the equivalent of cp, mv, ln, mkdir
and rm at the same time.
GIO offers a much simpler I/O scheduler functionality instead, that
lets you schedule a function to be called in a separate thread, or
if threads are not available, as an idle in the mainloop.
See g_io_scheduler_push_job()
.