diff options
Diffstat (limited to 'MediaBrowser.Controller/Sync')
| -rw-r--r-- | MediaBrowser.Controller/Sync/ICloudSyncProvider.cs | 11 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Sync/IServerSyncProvider.cs | 42 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Sync/ISyncManager.cs | 74 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Sync/ISyncProvider.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Sync/ISyncRepository.cs | 7 |
5 files changed, 132 insertions, 8 deletions
diff --git a/MediaBrowser.Controller/Sync/ICloudSyncProvider.cs b/MediaBrowser.Controller/Sync/ICloudSyncProvider.cs index f93360c64..f9327a71c 100644 --- a/MediaBrowser.Controller/Sync/ICloudSyncProvider.cs +++ b/MediaBrowser.Controller/Sync/ICloudSyncProvider.cs @@ -1,4 +1,6 @@ - +using MediaBrowser.Model.Sync; +using System.Collections.Generic; + namespace MediaBrowser.Controller.Sync { public interface ICloudSyncProvider @@ -8,5 +10,12 @@ namespace MediaBrowser.Controller.Sync /// </summary> /// <value>The name.</value> string Name { get; } + + /// <summary> + /// Gets the synchronize targets. + /// </summary> + /// <param name="userId">The user identifier.</param> + /// <returns>IEnumerable<SyncTarget>.</returns> + IEnumerable<SyncTarget> GetSyncTargets(string userId); } } diff --git a/MediaBrowser.Controller/Sync/IServerSyncProvider.cs b/MediaBrowser.Controller/Sync/IServerSyncProvider.cs new file mode 100644 index 000000000..8ef54fd43 --- /dev/null +++ b/MediaBrowser.Controller/Sync/IServerSyncProvider.cs @@ -0,0 +1,42 @@ +using MediaBrowser.Model.Sync; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; + +namespace MediaBrowser.Controller.Sync +{ + public interface IServerSyncProvider : ISyncProvider + { + /// <summary> + /// Gets the server item ids. + /// </summary> + /// <param name="serverId">The server identifier.</param> + /// <param name="target">The target.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task<List<System.String>>.</returns> + Task<List<string>> GetServerItemIds(string serverId, SyncTarget target, CancellationToken cancellationToken); + + /// <summary> + /// Removes the item. + /// </summary> + /// <param name="serverId">The server identifier.</param> + /// <param name="itemId">The item identifier.</param> + /// <param name="target">The target.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task.</returns> + Task DeleteItem(string serverId, string itemId, SyncTarget target, CancellationToken cancellationToken); + + /// <summary> + /// Transfers the file. + /// </summary> + /// <param name="serverId">The server identifier.</param> + /// <param name="itemId">The item identifier.</param> + /// <param name="pathParts">The path parts.</param> + /// <param name="name">The name.</param> + /// <param name="fileType">Type of the file.</param> + /// <param name="target">The target.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task.</returns> + Task TransferItemFile(string serverId, string itemId, string[] pathParts, string name, ItemFileType fileType, SyncTarget target, CancellationToken cancellationToken); + } +} diff --git a/MediaBrowser.Controller/Sync/ISyncManager.cs b/MediaBrowser.Controller/Sync/ISyncManager.cs index 59136c0e6..4d654575e 100644 --- a/MediaBrowser.Controller/Sync/ISyncManager.cs +++ b/MediaBrowser.Controller/Sync/ISyncManager.cs @@ -1,8 +1,10 @@ using MediaBrowser.Controller.Entities; using MediaBrowser.Model.Dlna; +using MediaBrowser.Model.Events; using MediaBrowser.Model.Querying; using MediaBrowser.Model.Sync; using MediaBrowser.Model.Users; +using System; using System.Collections.Generic; using System.Threading.Tasks; @@ -10,6 +12,12 @@ namespace MediaBrowser.Controller.Sync { public interface ISyncManager { + event EventHandler<GenericEventArgs<SyncJobCreationResult>> SyncJobCreated; + event EventHandler<GenericEventArgs<SyncJob>> SyncJobCancelled; + event EventHandler<GenericEventArgs<SyncJob>> SyncJobUpdated; + event EventHandler<GenericEventArgs<SyncJobItem>> SyncJobItemUpdated; + event EventHandler<GenericEventArgs<SyncJobItem>> SyncJobItemCreated; + /// <summary> /// Creates the job. /// </summary> @@ -29,7 +37,7 @@ namespace MediaBrowser.Controller.Sync /// <param name="query">The query.</param> /// <returns>QueryResult<SyncJobItem>.</returns> QueryResult<SyncJobItem> GetJobItems(SyncJobItemQuery query); - + /// <summary> /// Gets the job. /// </summary> @@ -45,6 +53,20 @@ namespace MediaBrowser.Controller.Sync Task UpdateJob(SyncJob job); /// <summary> + /// Res the enable job item. + /// </summary> + /// <param name="id">The identifier.</param> + /// <returns>Task.</returns> + Task ReEnableJobItem(string id); + + /// <summary> + /// Cnacels the job item. + /// </summary> + /// <param name="id">The identifier.</param> + /// <returns>Task.</returns> + Task CancelJobItem(string id); + + /// <summary> /// Cancels the job. /// </summary> /// <param name="id">The identifier.</param> @@ -109,5 +131,55 @@ namespace MediaBrowser.Controller.Sync /// <param name="request">The request.</param> /// <returns>Task<SyncDataResponse>.</returns> Task<SyncDataResponse> SyncData(SyncDataRequest request); + + /// <summary> + /// Marks the job item for removal. + /// </summary> + /// <param name="id">The identifier.</param> + /// <returns>Task.</returns> + Task MarkJobItemForRemoval(string id); + + /// <summary> + /// Unmarks the job item for removal. + /// </summary> + /// <param name="id">The identifier.</param> + /// <returns>Task.</returns> + Task UnmarkJobItemForRemoval(string id); + + /// <summary> + /// Gets the library item ids. + /// </summary> + /// <param name="query">The query.</param> + /// <returns>QueryResult<System.String>.</returns> + QueryResult<string> GetLibraryItemIds(SyncJobItemQuery query); + + /// <summary> + /// Gets the audio options. + /// </summary> + /// <param name="jobItem">The job item.</param> + /// <returns>AudioOptions.</returns> + AudioOptions GetAudioOptions(SyncJobItem jobItem); + + /// <summary> + /// Gets the video options. + /// </summary> + /// <param name="jobItem">The job item.</param> + /// <param name="job">The job.</param> + /// <returns>VideoOptions.</returns> + VideoOptions GetVideoOptions(SyncJobItem jobItem, SyncJob job); + + /// <summary> + /// Reports the synchronize job item transfer beginning. + /// </summary> + /// <param name="id">The identifier.</param> + /// <returns>Task.</returns> + Task ReportSyncJobItemTransferBeginning(string id); + + /// <summary> + /// Reports the synchronize job item transfer failed. + /// </summary> + /// <param name="id">The identifier.</param> + /// <returns>Task.</returns> + Task ReportSyncJobItemTransferFailed(string id); } } diff --git a/MediaBrowser.Controller/Sync/ISyncProvider.cs b/MediaBrowser.Controller/Sync/ISyncProvider.cs index af08edb5e..6f24eac1a 100644 --- a/MediaBrowser.Controller/Sync/ISyncProvider.cs +++ b/MediaBrowser.Controller/Sync/ISyncProvider.cs @@ -15,12 +15,6 @@ namespace MediaBrowser.Controller.Sync /// <summary> /// Gets the synchronize targets. /// </summary> - /// <returns>IEnumerable<SyncTarget>.</returns> - IEnumerable<SyncTarget> GetSyncTargets(); - - /// <summary> - /// Gets the synchronize targets. - /// </summary> /// <param name="userId">The user identifier.</param> /// <returns>IEnumerable<SyncTarget>.</returns> IEnumerable<SyncTarget> GetSyncTargets(string userId); diff --git a/MediaBrowser.Controller/Sync/ISyncRepository.cs b/MediaBrowser.Controller/Sync/ISyncRepository.cs index f1bcd7f07..315f5f541 100644 --- a/MediaBrowser.Controller/Sync/ISyncRepository.cs +++ b/MediaBrowser.Controller/Sync/ISyncRepository.cs @@ -68,5 +68,12 @@ namespace MediaBrowser.Controller.Sync /// <param name="query">The query.</param> /// <returns>IEnumerable<SyncJobItem>.</returns> QueryResult<SyncJobItem> GetJobItems(SyncJobItemQuery query); + + /// <summary> + /// Gets the library item ids. + /// </summary> + /// <param name="query">The query.</param> + /// <returns>QueryResult<System.String>.</returns> + QueryResult<string> GetLibraryItemIds(SyncJobItemQuery query); } } |
