using MediaBrowser.Model.Sync; using System; using System.Collections.Generic; using System.IO; using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Controller.Sync { public interface IServerSyncProvider : ISyncProvider { /// /// Transfers the file. /// /// The input file. /// The path. /// The target. /// The progress. /// The cancellation token. /// Task. Task SendFile(string inputFile, string path, SyncTarget target, IProgress progress, CancellationToken cancellationToken); /// /// Deletes the file. /// /// The path. /// The target. /// The cancellation token. /// Task. Task DeleteFile(string path, SyncTarget target, CancellationToken cancellationToken); /// /// Gets the file. /// /// The path. /// The target. /// The progress. /// The cancellation token. /// Task<Stream>. Task GetFile(string path, SyncTarget target, IProgress progress, CancellationToken cancellationToken); /// /// Gets the full path. /// /// The path. /// The target. /// System.String. string GetFullPath(IEnumerable path, SyncTarget target); /// /// Gets the parent directory path. /// /// The path. /// The target. /// System.String. string GetParentDirectoryPath(string path, SyncTarget target); /// /// Gets the file system entries. /// /// The path. /// The target. /// Task<List<DeviceFileInfo>>. Task> GetFileSystemEntries(string path, SyncTarget target); /// /// Gets the data provider. /// /// ISyncDataProvider. ISyncDataProvider GetDataProvider(); } }