mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-02-11 16:09:06 +00:00
Added a done callback
This commit is contained in:
parent
be8fd18975
commit
6ac122bfd8
@ -24,13 +24,14 @@ public static class DirectoryInfoExtensions
|
|||||||
/// current total size, you need to use the appropriate dispatcher to update the UI. Usually, you can use the InvokeAsync
|
/// current total size, you need to use the appropriate dispatcher to update the UI. Usually, you can use the InvokeAsync
|
||||||
/// method to update the UI from a background thread.
|
/// method to update the UI from a background thread.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
/// <param name="directoryInfo"></param>
|
/// <param name="directoryInfo">The root directory to determine the size of.</param>
|
||||||
/// <param name="reportCurrentTotalSize"></param>
|
/// <param name="reportCurrentTotalSize">The callback to report the current total size of the directory.</param>
|
||||||
/// <param name="reportCurrentNumFiles"></param>
|
/// <param name="reportCurrentNumFiles">The callback to report the current number of files found.</param>
|
||||||
/// <param name="reportNextFile"></param>
|
/// <param name="reportNextFile">The callback to report the next file found. The file name is relative to the root directory.</param>
|
||||||
/// <param name="reportMaxFiles"></param>
|
/// <param name="reportMaxFiles">The maximum number of files to report. A negative value reports all files.</param>
|
||||||
/// <param name="cancellationToken"></param>
|
/// <param name="done">The callback to report that the operation is done.</param>
|
||||||
public static async Task DetermineContentSize(this DirectoryInfo directoryInfo, Action<long> reportCurrentTotalSize, Action<long> reportCurrentNumFiles, Action<string> reportNextFile, int reportMaxFiles = -1, CancellationToken cancellationToken = default)
|
/// <param name="cancellationToken">The cancellation token to stop the operation.</param>
|
||||||
|
public static async Task DetermineContentSize(this DirectoryInfo directoryInfo, Action<long> reportCurrentTotalSize, Action<long> reportCurrentNumFiles, Action<string> reportNextFile, int reportMaxFiles = -1, Action? done = null, CancellationToken cancellationToken = default)
|
||||||
{
|
{
|
||||||
var rootDirectoryLen = directoryInfo.FullName.Length;
|
var rootDirectoryLen = directoryInfo.FullName.Length;
|
||||||
long totalSize = 0;
|
long totalSize = 0;
|
||||||
@ -58,5 +59,8 @@ public static class DirectoryInfoExtensions
|
|||||||
|
|
||||||
reportCurrentTotalSize(totalSize);
|
reportCurrentTotalSize(totalSize);
|
||||||
reportCurrentNumFiles(numFiles);
|
reportCurrentNumFiles(numFiles);
|
||||||
|
|
||||||
|
if(done is not null)
|
||||||
|
done();
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user