aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Sync
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Sync')
-rw-r--r--MediaBrowser.Controller/Sync/ICloudSyncProvider.cs11
-rw-r--r--MediaBrowser.Controller/Sync/IServerSyncProvider.cs42
-rw-r--r--MediaBrowser.Controller/Sync/ISyncManager.cs74
-rw-r--r--MediaBrowser.Controller/Sync/ISyncProvider.cs6
-rw-r--r--MediaBrowser.Controller/Sync/ISyncRepository.cs7
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&lt;SyncTarget&gt;.</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&lt;List&lt;System.String&gt;&gt;.</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&lt;SyncJobItem&gt;.</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&lt;SyncDataResponse&gt;.</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&lt;System.String&gt;.</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&lt;SyncTarget&gt;.</returns>
- IEnumerable<SyncTarget> GetSyncTargets();
-
- /// <summary>
- /// Gets the synchronize targets.
- /// </summary>
/// <param name="userId">The user identifier.</param>
/// <returns>IEnumerable&lt;SyncTarget&gt;.</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&lt;SyncJobItem&gt;.</returns>
QueryResult<SyncJobItem> GetJobItems(SyncJobItemQuery query);
+
+ /// <summary>
+ /// Gets the library item ids.
+ /// </summary>
+ /// <param name="query">The query.</param>
+ /// <returns>QueryResult&lt;System.String&gt;.</returns>
+ QueryResult<string> GetLibraryItemIds(SyncJobItemQuery query);
}
}