AppSyncProvider.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using MediaBrowser.Controller.Devices;
  2. using MediaBrowser.Controller.Sync;
  3. using MediaBrowser.Model.Devices;
  4. using MediaBrowser.Model.Dlna;
  5. using MediaBrowser.Model.Sync;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. namespace MediaBrowser.Server.Implementations.Sync
  9. {
  10. public class AppSyncProvider : ISyncProvider, IHasUniqueTargetIds
  11. {
  12. private readonly IDeviceManager _deviceManager;
  13. public AppSyncProvider(IDeviceManager deviceManager)
  14. {
  15. _deviceManager = deviceManager;
  16. }
  17. public IEnumerable<SyncTarget> GetSyncTargets()
  18. {
  19. return _deviceManager.GetDevices(new DeviceQuery
  20. {
  21. SupportsSync = true
  22. }).Items.Select(i => new SyncTarget
  23. {
  24. Id = i.Id,
  25. Name = i.Name
  26. });
  27. }
  28. public IEnumerable<SyncTarget> GetSyncTargets(string userId)
  29. {
  30. return _deviceManager.GetDevices(new DeviceQuery
  31. {
  32. SupportsSync = true,
  33. UserId = userId
  34. }).Items.Select(i => new SyncTarget
  35. {
  36. Id = i.Id,
  37. Name = i.Name
  38. });
  39. }
  40. public DeviceProfile GetDeviceProfile(SyncTarget target)
  41. {
  42. return new DeviceProfile();
  43. }
  44. public string Name
  45. {
  46. get { return "App Sync"; }
  47. }
  48. }
  49. }