1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- using MediaBrowser.Model.Querying;
- using MediaBrowser.Model.Sync;
- using System;
- using System.IO;
- using System.Threading;
- using System.Threading.Tasks;
- using MediaBrowser.Model.IO;
- namespace MediaBrowser.Controller.Sync
- {
- public interface IServerSyncProvider : ISyncProvider
- {
- /// <summary>
- /// Transfers the file.
- /// </summary>
- /// <param name="stream">The stream.</param>
- /// <param name="pathParts">The path parts.</param>
- /// <param name="target">The target.</param>
- /// <param name="progress">The progress.</param>
- /// <param name="cancellationToken">The cancellation token.</param>
- /// <returns>Task.</returns>
- Task<SyncedFileInfo> SendFile(Stream stream, string[] pathParts, SyncTarget target, IProgress<double> progress, CancellationToken cancellationToken);
- /// <summary>
- /// Deletes the file.
- /// </summary>
- /// <param name="id">The identifier.</param>
- /// <param name="target">The target.</param>
- /// <param name="cancellationToken">The cancellation token.</param>
- /// <returns>Task.</returns>
- Task DeleteFile(string id, SyncTarget target, CancellationToken cancellationToken);
- /// <summary>
- /// Gets the file.
- /// </summary>
- /// <param name="id">The identifier.</param>
- /// <param name="target">The target.</param>
- /// <param name="progress">The progress.</param>
- /// <param name="cancellationToken">The cancellation token.</param>
- /// <returns>Task<Stream>.</returns>
- Task<Stream> GetFile(string id, SyncTarget target, IProgress<double> progress, CancellationToken cancellationToken);
- Task<QueryResult<FileSystemMetadata>> GetFiles(string[] pathParts, SyncTarget target, CancellationToken cancellationToken);
- Task<QueryResult<FileSystemMetadata>> GetFiles(SyncTarget target, CancellationToken cancellationToken);
- }
- public interface ISupportsDirectCopy
- {
- /// <summary>
- /// Sends the file.
- /// </summary>
- /// <param name="path">The path.</param>
- /// <param name="pathParts">The path parts.</param>
- /// <param name="target">The target.</param>
- /// <param name="progress">The progress.</param>
- /// <param name="cancellationToken">The cancellation token.</param>
- /// <returns>Task<SyncedFileInfo>.</returns>
- Task<SyncedFileInfo> SendFile(string path, string[] pathParts, SyncTarget target, IProgress<double> progress, CancellationToken cancellationToken);
- }
- public interface IHasDuplicateCheck
- {
- /// <summary>
- /// Allows the duplicate job item.
- /// </summary>
- /// <param name="original">The original.</param>
- /// <param name="duplicate">The duplicate.</param>
- /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
- bool AllowDuplicateJobItem(SyncJobItem original, SyncJobItem duplicate);
- }
- }
|