FileMeasureProgressCallback


Description:

public delegate void FileMeasureProgressCallback (bool reporting, uint64 current_size, uint64 num_dirs, uint64 num_files)

This callback type is used by measure_disk_usage to make periodic progress reports when measuring the amount of disk spaced used by a directory.

These calls are made on a best-effort basis and not all types of File will support them. At the minimum, however, one call will always be made immediately.

In the case that there is no support, reporting will be set to false (and the other values undefined) and no further calls will be made. Otherwise, the reporting will be true and the other values all-zeros during the first (immediate) call. In this way, you can know which type of progress UI to show without a delay.

For measure_disk_usage the callback is made directly. For measure_disk_usage_async the callback is made via the default main context of the calling thread (ie: the same way that the final async result would be reported).

current_size is in the same units as requested by the operation (see g_file_disk_usage_apparent_size).

The frequency of the updates is implementation defined, but is ideally about once every 200ms.

The last progress callback may or may not be equal to the final result. Always check the async result to get the final value.

Parameters:

reporting

true if more reports will come

current_size

the current cumulative size measurement

num_dirs

the number of directories visited so far

num_files

the number of non-directory files encountered

user_data

the data passed to the original request for this callback


Namespace: GLib
Package: gio-2.0