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 stream. /// The remote path. /// The target. /// The progress. /// The cancellation token. /// Task. Task SendFile(Stream stream, string remotePath, 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); } }