diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Sync/AppSyncProvider.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Sync/AppSyncProvider.cs | 43 |
1 files changed, 38 insertions, 5 deletions
diff --git a/MediaBrowser.Server.Implementations/Sync/AppSyncProvider.cs b/MediaBrowser.Server.Implementations/Sync/AppSyncProvider.cs index c3cd047b6..6cc5be955 100644 --- a/MediaBrowser.Server.Implementations/Sync/AppSyncProvider.cs +++ b/MediaBrowser.Server.Implementations/Sync/AppSyncProvider.cs @@ -1,21 +1,54 @@ -using MediaBrowser.Controller.Sync; +using MediaBrowser.Controller.Devices; +using MediaBrowser.Controller.Sync; +using MediaBrowser.Model.Devices; using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Sync; -using System; using System.Collections.Generic; +using System.Linq; namespace MediaBrowser.Server.Implementations.Sync { - public class AppSyncProvider : ISyncProvider + public class AppSyncProvider : ISyncProvider, IHasUniqueTargetIds { + private readonly IDeviceManager _deviceManager; + + public AppSyncProvider(IDeviceManager deviceManager) + { + _deviceManager = deviceManager; + } + public IEnumerable<SyncTarget> GetSyncTargets() { - return new List<SyncTarget>(); + return _deviceManager.GetDevices(new DeviceQuery + { + SupportsSync = true + + }).Items.Select(i => new SyncTarget + { + Id = i.Id, + Name = i.Name + }); + } + + public IEnumerable<SyncTarget> GetSyncTargets(string userId) + { + return _deviceManager.GetDevices(new DeviceQuery + { + SupportsSync = true, + UserId = userId + + }).Items.Select(i => new SyncTarget + { + Id = i.Id, + Name = i.Name + }); } public DeviceProfile GetDeviceProfile(SyncTarget target) { - return new DeviceProfile(); + var caps = _deviceManager.GetCapabilities(target.Id); + + return caps == null || caps.DeviceProfile == null ? new DeviceProfile() : caps.DeviceProfile; } public string Name |
