source
to the location specified by destination
.
If native move operations are supported then this is used, otherwise a copy + delete
fallback is used. The native implementation may support moving directories (for instance
on moves inside the same filesystem), but the fallback code does not.gFileMove(object, destination, flags = "G_FILE_COPY_NONE", cancellable = NULL, progress.callback, progress.callback.data, .errwarn = TRUE)
object
GFile
pointing to the source location.destination
GFile
pointing to the destination location.flags
GFileCopyFlags
.cancellable
GCancellable
object, NULL
to ignore.progress.callback
GFileProgressCallback
function for updates.progress.callback.data
TRUE
on successful move, FALSE
otherwise.error
GError
for returning error conditions, or NULL
G_FILE_COPY_OVERWRITE
is specified an already
existing destination
file is overwritten.
If the flag G_FILE_COPY_NOFOLLOW_SYMLINKS
is specified then symlinks
will be copied as symlinks, otherwise the target of the
source
symlink will be copied.
If cancellable
is not NULL
, then the operation can be cancelled by
triggering the cancellable object from another thread. If the operation
was cancelled, the error G_IO_ERROR_CANCELLED
will be returned.
If progress.callback
is not NULL
, then the operation can be monitored by
setting this to a GFileProgressCallback
function. progress.callback.data
will be passed to this function. It is guaranteed that this callback will
be called after all data has been transferred with the total number of bytes
copied during the operation.
If the source
file does not exist then the G_IO_ERROR_NOT_FOUND
error is returned, independent on the status of the destination
.
If G_FILE_COPY_OVERWRITE
is not specified and the target exists, then the
error G_IO_ERROR_EXISTS is returned.
If trying to overwrite a file over a directory the G_IO_ERROR_IS_DIRECTORY
error is returned. If trying to overwrite a directory with a directory the
G_IO_ERROR_WOULD_MERGE error is returned.
If the source is a directory and the target does not exist, or G_FILE_COPY_OVERWRITE
is
specified and the target is a file, then the G_IO_ERROR_WOULD_RECURSE error
may be returned (if the native move operation isn't available).