aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Sync
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2016-08-25 14:46:19 -0400
committerGitHub <noreply@github.com>2016-08-25 14:46:19 -0400
commitba9577f3801105c2f85c061fa7c4c3ee445032ad (patch)
treed06d1da4e2284fcf36c36f7ac1ec84c9613ad812 /MediaBrowser.Server.Implementations/Sync
parent870c843194a8684d1f1098bbed79ecb27cd3478b (diff)
parent1ffd9b31577773d3c87c2b6621c8803b2b17e85c (diff)
Merge pull request #2101 from MediaBrowser/beta
Beta
Diffstat (limited to 'MediaBrowser.Server.Implementations/Sync')
-rw-r--r--MediaBrowser.Server.Implementations/Sync/AppSyncProvider.cs5
-rw-r--r--MediaBrowser.Server.Implementations/Sync/SyncNotificationEntryPoint.cs48
2 files changed, 53 insertions, 0 deletions
diff --git a/MediaBrowser.Server.Implementations/Sync/AppSyncProvider.cs b/MediaBrowser.Server.Implementations/Sync/AppSyncProvider.cs
index 03485012f..408ec717e 100644
--- a/MediaBrowser.Server.Implementations/Sync/AppSyncProvider.cs
+++ b/MediaBrowser.Server.Implementations/Sync/AppSyncProvider.cs
@@ -85,6 +85,11 @@ namespace MediaBrowser.Server.Implementations.Sync
{
Name = "Low",
Id = "low"
+ },
+ new SyncQualityOption
+ {
+ Name = "Custom",
+ Id = "custom"
}
};
}
diff --git a/MediaBrowser.Server.Implementations/Sync/SyncNotificationEntryPoint.cs b/MediaBrowser.Server.Implementations/Sync/SyncNotificationEntryPoint.cs
new file mode 100644
index 000000000..7017b422e
--- /dev/null
+++ b/MediaBrowser.Server.Implementations/Sync/SyncNotificationEntryPoint.cs
@@ -0,0 +1,48 @@
+using System.Threading;
+using MediaBrowser.Controller.Plugins;
+using MediaBrowser.Controller.Session;
+using MediaBrowser.Controller.Sync;
+using MediaBrowser.Model.Events;
+using MediaBrowser.Model.Sync;
+
+namespace MediaBrowser.Server.Implementations.Sync
+{
+ public class SyncNotificationEntryPoint : IServerEntryPoint
+ {
+ private readonly ISessionManager _sessionManager;
+ private readonly ISyncManager _syncManager;
+
+ public SyncNotificationEntryPoint(ISyncManager syncManager, ISessionManager sessionManager)
+ {
+ _syncManager = syncManager;
+ _sessionManager = sessionManager;
+ }
+
+ public void Run()
+ {
+ _syncManager.SyncJobItemUpdated += _syncManager_SyncJobItemUpdated;
+ }
+
+ private async void _syncManager_SyncJobItemUpdated(object sender, GenericEventArgs<SyncJobItem> e)
+ {
+ var item = e.Argument;
+
+ if (item.Status == SyncJobItemStatus.ReadyToTransfer)
+ {
+ try
+ {
+ await _sessionManager.SendMessageToUserDeviceSessions(item.TargetId, "SyncJobItemReady", item, CancellationToken.None).ConfigureAwait(false);
+ }
+ catch
+ {
+
+ }
+ }
+ }
+
+ public void Dispose()
+ {
+ _syncManager.SyncJobItemUpdated -= _syncManager_SyncJobItemUpdated;
+ }
+ }
+}