CloudSyncProvider.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using MediaBrowser.Common;
  2. using MediaBrowser.Controller.Sync;
  3. using MediaBrowser.Model.Dlna;
  4. using MediaBrowser.Model.Sync;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Threading;
  9. using System.Threading.Tasks;
  10. namespace MediaBrowser.Server.Implementations.Sync
  11. {
  12. public class CloudSyncProvider : IServerSyncProvider
  13. {
  14. private readonly ICloudSyncProvider[] _providers = {};
  15. public CloudSyncProvider(IApplicationHost appHost)
  16. {
  17. _providers = appHost.GetExports<ICloudSyncProvider>().ToArray();
  18. }
  19. public IEnumerable<SyncTarget> GetSyncTargets(string userId)
  20. {
  21. return _providers.SelectMany(i => i.GetSyncTargets(userId));
  22. }
  23. public DeviceProfile GetDeviceProfile(SyncTarget target)
  24. {
  25. return new DeviceProfile();
  26. }
  27. public string Name
  28. {
  29. get { return "Cloud Sync"; }
  30. }
  31. public Task<List<string>> GetServerItemIds(string serverId, SyncTarget target, CancellationToken cancellationToken)
  32. {
  33. throw new NotImplementedException();
  34. }
  35. public Task DeleteItem(string serverId, string itemId, SyncTarget target, CancellationToken cancellationToken)
  36. {
  37. throw new NotImplementedException();
  38. }
  39. public Task TransferItemFile(string serverId, string itemId, string[] pathParts, string name, ItemFileType fileType, SyncTarget target, CancellationToken cancellationToken)
  40. {
  41. throw new NotImplementedException();
  42. }
  43. }
  44. }