aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
diff options
context:
space:
mode:
authorjluce50 <jeremyluce@gmail.com>2015-03-03 09:42:17 -0600
committerjluce50 <jeremyluce@gmail.com>2015-03-03 09:42:17 -0600
commit6c2e01830c7234438b879af633caaf415f560a5a (patch)
treeafd595af2f85888544f437b2a367e241ade607dc /MediaBrowser.Server.Implementations/Sync/SyncManager.cs
parent7fd26410a9c49e84a146dfd77a2732b2330c3834 (diff)
parent2fc0686c308e74654f4f7ef9ea6cf56fb61b5ff5 (diff)
Merge pull request #1 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Server.Implementations/Sync/SyncManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Sync/SyncManager.cs32
1 files changed, 23 insertions, 9 deletions
diff --git a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
index a2fd92bf50..8fc3651f76 100644
--- a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
+++ b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
@@ -407,6 +407,15 @@ namespace MediaBrowser.Server.Implementations.Sync
.OrderBy(i => i.Name);
}
+ private IEnumerable<SyncTarget> GetSyncTargets(ISyncProvider provider)
+ {
+ return provider.GetAllSyncTargets().Select(i => new SyncTarget
+ {
+ Name = i.Name,
+ Id = GetSyncTargetId(provider, i)
+ });
+ }
+
private IEnumerable<SyncTarget> GetSyncTargets(ISyncProvider provider, string userId)
{
return provider.GetSyncTargets(userId).Select(i => new SyncTarget
@@ -429,13 +438,6 @@ namespace MediaBrowser.Server.Implementations.Sync
return (providerId + "-" + target.Id).GetMD5().ToString("N");
}
- private ISyncProvider GetSyncProvider(SyncTarget target)
- {
- var providerId = target.Id.Split(new[] { '-' }, 2).First();
-
- return _providers.First(i => string.Equals(providerId, GetSyncProviderId(i)));
- }
-
private string GetSyncProviderId(ISyncProvider provider)
{
return (provider.GetType().Name).GetMD5().ToString("N");
@@ -543,11 +545,11 @@ namespace MediaBrowser.Server.Implementations.Sync
{
foreach (var provider in _providers)
{
- foreach (var target in GetSyncTargets(provider, null))
+ foreach (var target in GetSyncTargets(provider))
{
if (string.Equals(target.Id, targetId, StringComparison.OrdinalIgnoreCase))
{
- return provider.GetDeviceProfile(target);
+ return GetDeviceProfile(provider, target);
}
}
}
@@ -555,6 +557,18 @@ namespace MediaBrowser.Server.Implementations.Sync
return null;
}
+ public DeviceProfile GetDeviceProfile(ISyncProvider provider, SyncTarget target)
+ {
+ var hasProfile = provider as IHasSyncProfile;
+
+ if (hasProfile != null)
+ {
+ return hasProfile.GetDeviceProfile(target);
+ }
+
+ return new CloudSyncProfile(true, false);
+ }
+
public async Task ReportSyncJobItemTransferred(string id)
{
var jobItem = _repo.GetJobItem(id);