1 //-----------------------------------------------------------------------
2 // <copyright file="IBackupService.cs" company="Takayoshi Matsuyama">
3 // Copyright (c) Takayoshi Matsuyama. All rights reserved.
5 //-----------------------------------------------------------------------
7 // This file is part of Simple Backup.
9 // Simple Backup is free software: you can redistribute it and/or modify
10 // it under the terms of the GNU General Public License as published by
11 // the Free Software Foundation, either version 3 of the License, or
12 // (at your option) any later version.
14 // Simple Backup is distributed in the hope that it will be useful,
15 // but WITHOUT ANY WARRANTY; without even the implied warranty of
16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 // GNU General Public License for more details.
19 // You should have received a copy of the GNU General Public License
20 // along with Simple Backup. If not, see <http://www.gnu.org/licenses/>.
22 namespace SimpleBackup.Core.Services
25 using System.Threading;
26 using SimpleBackup.Core.Models;
29 /// Provides backup function.
31 public interface IBackupService
34 /// Occurs when file backup progress is updated.
36 event EventHandler<FileBackupProgressEventArgs> NofityFileBackupProgress;
39 /// Gets a value indicating whether this service is ready for backup.
41 bool IsReadyForBackup { get; }
44 /// Gets a value indicating whether this service is executing backup.
46 bool IsExecutingBackup { get; }
49 /// Backups multipul files.
51 /// <param name="cancellationToken">The cancellation token.</param>
52 /// <param name="resultInfos">The array of result information.</param>
53 void BackupMultipulFiles(CancellationToken cancellationToken, out IResultInfo[] resultInfos);
56 /// Backups single file.
58 /// <param name="backupInfoId">The backup information identifier.</param>
59 /// <returns>The result information.</returns>
60 IResultInfo BackupSingleFile(Guid backupInfoId);