using JWLMerge.BackupFileServices.Models.Database; namespace JWLMerge.BackupFileServices { using System; using System.Collections.Generic; using Events; using Models; /// /// The BackupFileService interface. /// public interface IBackupFileService { event EventHandler ProgressEvent; /// /// Loads the specified backup file. /// /// /// The backup file path. /// /// /// The . /// BackupFile Load(string backupFilePath); /// /// Merges the specified backup files. /// /// The files. /// Merged file BackupFile Merge(IReadOnlyCollection files); /// /// Merges the specified backup files. /// /// The files. /// Merged file BackupFile Merge(IReadOnlyCollection files); /// /// Creates a blank backup file. /// /// /// A . /// BackupFile CreateBlank(); /// /// Writes the specified backup to a "jwlibrary" file. /// /// The backup data. /// The new database file path. /// The original jwlibrary file path on which to base the new schema. void WriteNewDatabase( BackupFile backup, string newDatabaseFilePath, string originalJwlibraryFilePathForSchema); /// /// Removes all the tags from the specified database. /// /// The database. /// Number of items removed int RemoveTags(Database database); /// /// Removes bookmarks from the specified database. /// /// The database. /// Number of items removed int RemoveBookmarks(Database database); /// /// Removes notes from the specified database. /// /// The database. /// Number of items removed int RemoveNotes(Database database); /// /// Removes underlining (user marks) from the specified database /// /// The database. /// Number of items removed int RemoveUnderlining(Database database); } }