| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | using MediaBrowser.Controller.Devices;using MediaBrowser.Controller.Sync;using MediaBrowser.Model.Devices;using MediaBrowser.Model.Dlna;using MediaBrowser.Model.Sync;using System.Collections.Generic;using System.Linq;namespace MediaBrowser.Server.Implementations.Sync{    public class AppSyncProvider : ISyncProvider, IHasUniqueTargetIds    {        private readonly IDeviceManager _deviceManager;        public AppSyncProvider(IDeviceManager deviceManager)        {            _deviceManager = deviceManager;        }        public IEnumerable<SyncTarget> GetSyncTargets()        {            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)        {            var caps = _deviceManager.GetCapabilities(target.Id);            return caps == null || caps.DeviceProfile == null ? new DeviceProfile() : caps.DeviceProfile;        }        public string Name        {            get { return "App Sync"; }        }    }}
 |