函数

GioFileMeasureProgressCallback

自2.38开始

声明

void
(* GFileMeasureProgressCallback) (
  gboolean reporting,
  guint64 current_size,
  guint64 num_dirs,
  guint64 num_files,
  gpointer data
)

描述 [源码]

此回调类型由g_file_measure_disk_usage()在测量目录占用的磁盘空间大小时生成周期性进度报告。

这些调用基于最大努力原则,并非所有类型的GFile都支持它们。然而,至少会立即调用一次。

如果没有支持,则reporting将被设置为FALSE(其他值将为未知)并且不会再进行调用。否则,在第一次(立即)调用时,reporting将设置为TRUE,其他值都为零。这样,您可以无缝地知道显示哪种类型的进度UI

对于g_file_measure_disk_usage(),回调是直接进行的。对于g_file_measure_disk_usage_async(),回调是通过调用线程的默认主上下文进行的(即,最终异步结果将被报告的方式相同)。

current_size与操作请求的相同单位(见G_FILE_MEASURE_APPARENT_SIZE)。

更新的频率由实现定义,但理想情况下大约每200ms更新一次。

最后一个进度回调可能与最终结果相等,也可能不相等。始终检查异步结果以获取最终值。

自2.38可用

参数

reporting

类型: gboolean

TRUE如果还将提供更多报告。

current_size

类型: guint64

当前累计大小测量。

num_dirs

类型: guint64

迄今为止访问的目录数量。

num_files

类型: guint64

遇到的非目录文件数量。

data

类型: gpointer

传递给原始请求的回调的数据。

该参数可以是NULL
数据由函数的调用者拥有。