Top |
GnomeVFSCancellation *
gnome_vfs_cancellation_new (void
);
Create a new GnomeVFSCancellation object for reporting cancellation to a gnome-vfs module.
void
gnome_vfs_cancellation_destroy (GnomeVFSCancellation *cancellation
);
Destroy cancellation
.
void
gnome_vfs_cancellation_cancel (GnomeVFSCancellation *cancellation
);
Send a cancellation request through cancellation
.
If called on a different thread than the one handling idle
callbacks, there is a small race condition where the
operation finished callback will be called even if you
cancelled the operation. Its the apps responsibility
to handle this. See gnome_vfs_async_cancel()
for more
discussion about this.
gboolean
gnome_vfs_cancellation_check (GnomeVFSCancellation *cancellation
);
Check for pending cancellation.
void
gnome_vfs_cancellation_ack (GnomeVFSCancellation *cancellation
);
Acknowledge a cancellation. This should be called if
gnome_vfs_cancellation_check()
returns TRUE
or if select()
reports that
input is available on the file descriptor returned by
gnome_vfs_cancellation_get_fd()
.
gint
gnome_vfs_cancellation_get_fd (GnomeVFSCancellation *cancellation
);
Get a file descriptor -based notificator for cancellation
. When
cancellation
receives a cancellation request, a character will be made
available on the returned file descriptor for input.
This is very useful for detecting cancellation during I/O operations: you
can use the select()
call to check for available input/output on the file
you are reading/writing, and on the notificator's file descriptor at the
same time. If a data is available on the notificator's file descriptor, you
know you have to cancel the read/write operation.