File.measureDiskUsage

bool measureDiskUsage(gio.types.FileMeasureFlags flags, gio.cancellable.Cancellable cancellable, gio.types.FileMeasureProgressCallback progressCallback, out ulong diskUsage, out ulong numDirs, out ulong numFiles)

Recursively measures the disk usage of file.

This is essentially an analog of the 'du' command, but it also reports the number of directories and non-directory files encountered (including things like symbolic links).

By default, errors are only reported against the toplevel file itself. Errors found while recursing are silently ignored, unless [gio.types.FileMeasureFlags.ReportAnyError] is given in flags.

The returned size, disk_usage, is in bytes and should be formatted with [glib.global.formatSize] in order to get something reasonable for showing in a user interface.

progress_callback and progress_data can be given to request periodic progress updates while scanning. See the documentation for #GFileMeasureProgressCallback for information about when and how the callback will be invoked.

Parameters

flags#GFileMeasureFlags
cancellableoptional #GCancellable
progressCallbacka #GFileMeasureProgressCallback
diskUsagethe number of bytes of disk space used
numDirsthe number of directories encountered
numFilesthe number of non-directories encountered

Returns

true if successful, with the out parameters set.

false otherwise, with error set.

Throws

[ErrorWrap]