虚拟方法
GioFilecopy
声明 [源]
gboolean
copy (
GFile* source,
GFile* destination,
GFileCopyFlags flags,
GCancellable* cancellable,
GFileProgressCallback progress_callback,
gpointer progress_callback_data,
GError** error
)
描述 [源]
将文件 source 复制到由 destination 指定位置。无法处理目录的递归复制。
如果指定了标志 G_FILE_COPY_OVERWRITE,则已存在的 destination 文件将被覆盖。
如果指定了标志 G_FILE_COPY_NOFOLLOW_SYMLINKS,则符号链接将以符号链接的形式复制,否则将复制 source 符号链接的目标。
如果指定了标志 G_FILE_COPY_ALL_METADATA,则复制所有可复制的元数据,而不仅仅是默认子集(例如,不包括所有者,见 GFileInfo)。
如果 cancellable 不是 NULL,则可以通过从另一个线程触发可取消的对象来取消操作。如果操作已取消,则返回错误 G_IO_ERROR_CANCELLED。
如果 progress_callback 不是 NULL,则可以通过设置此为 GFileProgressCallback 函数来监视操作。将传递 progress_callback_data 到此函数。保证在数据传输完毕后调用此回调,其中包含操作期间复制的字节数。
如果 source 文件不存在,则返回错误 G_IO_ERROR_NOT_FOUND,与 destination 的状态无关。
如果在未指定 G_FILE_COPY_OVERWRITE 的情况下目标存在,则返回错误 G_IO_ERROR_EXISTS。
如果尝试在目录上覆盖文件,则返回错误 G_IO_ERROR_IS_DIRECTORY。如果尝试使用目录覆盖目录,则返回 G_IO_ERROR_WOULD_MERGE 错误。
如果源是目录且目标不存在,或指定了 G_FILE_COPY_OVERWRITE 且目标是文件,则返回错误 G_IO_ERROR_WOULD_RECURSE。
如果您想复制 GFile 对象本身(而不是磁盘上的文件),请参见 g_file_dup()。
参数
destination-
类型:
GFile目标
GFile。数据由方法调用者拥有。 flags-
类型:
GFileCopyFlags一组
GFileCopyFlags。 cancellable-
类型:
GCancellable可选的
GCancellable对象,NULL表示忽略。参数可以 NULL。数据由方法调用者拥有。 progress_callback-
用于回调进度信息的函数,或
NULL表示不需要进度信息。 progress_callback_data-
类型:
gpointer将传递到
progress_callback的用户数据。参数可以 NULL。数据由方法调用者拥有。 error-
类型:
GError **可恢复错误的返回位置。
参数可以 NULL。如果返回位置不是 NULL,则必须将其初始化为NULLGError*。如果没有错误,虚拟函数将保留参数初始化为 NULL。出错时,参数将被设置为新分配的 GError;调用者将接管数据并负责释放它。