using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tango.PPC.Common.BackupRestore
{
///
/// Represents a backup/restore manager.
///
public interface IBackupManager
{
///
/// Occurs when the backup/restore procedure makes progress.
///
event EventHandler Progress;
///
/// Creates a backup file containing database, application and firmware versions.
///
/// The file path.
/// The backup name.
/// Backup configuration.
///
Task CreateBackup(String filePath, String name, BackupSettings settings);
///
/// Restores a backup located in the specified file path.
///
/// The file path.
/// The restore settings
///
Task Restore(String filePath, RestoreSettings settings);
///
/// Extracts the backup configuration from the specified backup file.
///
/// The file path.
///
Task ExtractBackupConfiguration(String filePath);
}
}