Function
GioFileMeasureProgressCallback
since: 2.38
Declaration
void
(* GFileMeasureProgressCallback) (
gboolean reporting,
guint64 current_size,
guint64 num_dirs,
guint64 num_files,
gpointer data
)
Description [src]
This callback type is used by g_file_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
GFile
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 g_file_measure_disk_usage()
the callback is made directly. For
g_file_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_MEASURE_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.
Available since: 2.38
Parameters
reporting
-
Type:
gboolean
TRUE
if more reports will come. current_size
-
Type:
guint64
The current cumulative size measurement.
num_dirs
-
Type:
guint64
The number of directories visited so far.
num_files
-
Type:
guint64
The number of non-directory files encountered.
data
-
Type:
gpointer
The data passed to the original request for this callback.
The argument can be NULL
.The data is owned by the caller of the function.