//----------------------------------------------------------------------- // // Copyright (c) Takayoshi Matsuyama. All rights reserved. // //----------------------------------------------------------------------- // This file is part of Simple Backup. // // Simple Backup is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Simple Backup is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Simple Backup. If not, see . namespace SimpleBackup.Core.Models { using System; using System.ComponentModel; using System.Xml.Linq; /// /// A interface of single backup information. /// public interface IBackupInfo : INotifyPropertyChanged { /// /// Occurs when a property which has to be saved in setting file is changed. /// event EventHandler SettingFilePropertyChanged; /// /// Gets or sets the identifier. /// Guid Id { get; set; } /// /// Gets or sets the label. /// string Label { get; set; } /// /// Gets or sets the type of the backup source. /// BackupSourceType BackupSourceType { get; set; } /// /// Gets or sets a value indicating whether the backup is enabled. /// bool IsEnabled { get; set; } /// /// Gets or sets a value indicating whether the backup is zip archive. /// bool IsZipArchive { get; set; } /// /// Gets or sets the source path. /// string SourcePath { get; set; } /// /// Gets or sets the destination folder path. /// string DestinationFolderPath { get; set; } /// /// Gets or sets the state of the backup. /// BackupState BackupState { get; set; } /// /// Gets or sets the name of the latest successful backup target. /// string LatestSuccessfulBackupTargetName { get; set; } /// /// Saves this instance to a XElement. /// /// The generated XElement. XElement ToXml(); /// /// Gets the binary representation of this instance. /// /// The binary representation of this instance. byte[] ToBinary(); /// /// Gets the formatted text representation of this instance. /// /// The text representation of this instance. string ToFormattedText(); } }