diff --git a/src/c#/GeneralUpdate.Core/FileSystem/StorageManager.cs b/src/c#/GeneralUpdate.Core/FileSystem/StorageManager.cs index dec71e13..e53bc4e3 100644 --- a/src/c#/GeneralUpdate.Core/FileSystem/StorageManager.cs +++ b/src/c#/GeneralUpdate.Core/FileSystem/StorageManager.cs @@ -231,7 +231,21 @@ private static void CopyDirectory(string sourceDir, string targetDir) } } - #endregion + + public static async System.Threading.Tasks.Task BackupAsync(string sourcePath, string backupPath, System.Collections.Generic.IReadOnlyList directoryNames) + { + await System.Threading.Tasks.Task.Run(() => Backup(sourcePath, backupPath, directoryNames)).ConfigureAwait(false); + } + + public static async System.Threading.Tasks.Task RestoreAsync(string backupPath, string sourcePath) + { + await System.Threading.Tasks.Task.Run(() => Restore(backupPath, sourcePath)).ConfigureAwait(false); + } + + public static async System.Threading.Tasks.Task CleanBackupAsync(string installPath, int keepVersions = 3) + { + await System.Threading.Tasks.Task.Run(() => CleanBackup(installPath, keepVersions)).ConfigureAwait(false); + } #endregion #region Private Methods @@ -312,7 +326,21 @@ public static IReadOnlyList ListBackups(string installPath) .ToList(); } - #endregion + + public static async System.Threading.Tasks.Task BackupAsync(string sourcePath, string backupPath, System.Collections.Generic.IReadOnlyList directoryNames) + { + await System.Threading.Tasks.Task.Run(() => Backup(sourcePath, backupPath, directoryNames)).ConfigureAwait(false); + } + + public static async System.Threading.Tasks.Task RestoreAsync(string backupPath, string sourcePath) + { + await System.Threading.Tasks.Task.Run(() => Restore(backupPath, sourcePath)).ConfigureAwait(false); + } + + public static async System.Threading.Tasks.Task CleanBackupAsync(string installPath, int keepVersions = 3) + { + await System.Threading.Tasks.Task.Run(() => CleanBackup(installPath, keepVersions)).ConfigureAwait(false); + } #endregion } /// Backup configuration.