aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-07-15 00:12:26 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-07-15 00:12:26 -0400
commit6375411f53a2b561d04f167b4a162892a8671ef4 (patch)
treea000ae575ed1c377390a69d770c0e2f843fdfb7a
parent98012480f70cdfa918bbea1ae975d6f7cb8c7f67 (diff)
added sync model objects
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj1
-rw-r--r--MediaBrowser.Controller/Sync/ISyncManager.cs50
-rw-r--r--MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj24
-rw-r--r--MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj24
-rw-r--r--MediaBrowser.Model/MediaBrowser.Model.csproj8
-rw-r--r--MediaBrowser.Model/Sync/SyncJob.cs47
-rw-r--r--MediaBrowser.Model/Sync/SyncJobQuery.cs7
-rw-r--r--MediaBrowser.Model/Sync/SyncJobRequest.cs28
-rw-r--r--MediaBrowser.Model/Sync/SyncJobStatus.cs35
-rw-r--r--MediaBrowser.Model/Sync/SyncQuality.cs21
-rw-r--r--MediaBrowser.Model/Sync/SyncSchedule.cs12
-rw-r--r--MediaBrowser.Model/Sync/SyncScheduleQuery.cs7
-rw-r--r--MediaBrowser.Model/Sync/SyncScheduleRequest.cs23
-rw-r--r--MediaBrowser.Providers/Manager/MetadataService.cs1
14 files changed, 287 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index 1c60ea8e6..fb50deb66 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -319,6 +319,7 @@
<Compile Include="Sorting\SortExtensions.cs" />
<Compile Include="Subtitles\SubtitleResponse.cs" />
<Compile Include="Subtitles\SubtitleSearchRequest.cs" />
+ <Compile Include="Sync\ISyncManager.cs" />
<Compile Include="Themes\IAppThemeManager.cs" />
<Compile Include="Themes\InternalThemeImage.cs" />
</ItemGroup>
diff --git a/MediaBrowser.Controller/Sync/ISyncManager.cs b/MediaBrowser.Controller/Sync/ISyncManager.cs
new file mode 100644
index 000000000..fc92718ca
--- /dev/null
+++ b/MediaBrowser.Controller/Sync/ISyncManager.cs
@@ -0,0 +1,50 @@
+using MediaBrowser.Model.Querying;
+using MediaBrowser.Model.Sync;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Controller.Sync
+{
+ public interface ISyncManager
+ {
+ /// <summary>
+ /// Creates the job.
+ /// </summary>
+ /// <param name="request">The request.</param>
+ /// <returns>Task.</returns>
+ Task<List<SyncJob>> CreateJob(SyncJobRequest request);
+
+ /// <summary>
+ /// Creates the schedule.
+ /// </summary>
+ /// <param name="request">The request.</param>
+ /// <returns>Task.</returns>
+ Task<SyncSchedule> CreateSchedule(SyncScheduleRequest request);
+
+ /// <summary>
+ /// Gets the jobs.
+ /// </summary>
+ /// <returns>QueryResult&lt;SyncJob&gt;.</returns>
+ QueryResult<SyncJob> GetJobs(SyncJobQuery query);
+
+ /// <summary>
+ /// Gets the schedules.
+ /// </summary>
+ /// <returns>QueryResult&lt;SyncSchedule&gt;.</returns>
+ QueryResult<SyncSchedule> GetSchedules(SyncScheduleQuery query);
+
+ /// <summary>
+ /// Cancels the job.
+ /// </summary>
+ /// <param name="id">The identifier.</param>
+ /// <returns>Task.</returns>
+ Task CancelJob(string id);
+
+ /// <summary>
+ /// Cancels the schedule.
+ /// </summary>
+ /// <param name="id">The identifier.</param>
+ /// <returns>Task.</returns>
+ Task CancelSchedule(string id);
+ }
+}
diff --git a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
index baa9f933d..9a5cf81f5 100644
--- a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
+++ b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
@@ -842,6 +842,30 @@
<Compile Include="..\MediaBrowser.Model\Session\UserDataChangeInfo.cs">
<Link>Session\UserDataChangeInfo.cs</Link>
</Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncJob.cs">
+ <Link>Sync\SyncJob.cs</Link>
+ </Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncJobQuery.cs">
+ <Link>Sync\SyncJobQuery.cs</Link>
+ </Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncJobRequest.cs">
+ <Link>Sync\SyncJobRequest.cs</Link>
+ </Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncJobStatus.cs">
+ <Link>Sync\SyncJobStatus.cs</Link>
+ </Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncQuality.cs">
+ <Link>Sync\SyncQuality.cs</Link>
+ </Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncSchedule.cs">
+ <Link>Sync\SyncSchedule.cs</Link>
+ </Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncScheduleQuery.cs">
+ <Link>Sync\SyncScheduleQuery.cs</Link>
+ </Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncScheduleRequest.cs">
+ <Link>Sync\SyncScheduleRequest.cs</Link>
+ </Compile>
<Compile Include="..\MediaBrowser.Model\System\LogFile.cs">
<Link>System\LogFile.cs</Link>
</Compile>
diff --git a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
index 782e8524d..d96717429 100644
--- a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
+++ b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
@@ -799,6 +799,30 @@
<Compile Include="..\MediaBrowser.Model\Session\UserDataChangeInfo.cs">
<Link>Session\UserDataChangeInfo.cs</Link>
</Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncJob.cs">
+ <Link>Sync\SyncJob.cs</Link>
+ </Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncJobQuery.cs">
+ <Link>Sync\SyncJobQuery.cs</Link>
+ </Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncJobRequest.cs">
+ <Link>Sync\SyncJobRequest.cs</Link>
+ </Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncJobStatus.cs">
+ <Link>Sync\SyncJobStatus.cs</Link>
+ </Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncQuality.cs">
+ <Link>Sync\SyncQuality.cs</Link>
+ </Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncSchedule.cs">
+ <Link>Sync\SyncSchedule.cs</Link>
+ </Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncScheduleQuery.cs">
+ <Link>Sync\SyncScheduleQuery.cs</Link>
+ </Compile>
+ <Compile Include="..\MediaBrowser.Model\Sync\SyncScheduleRequest.cs">
+ <Link>Sync\SyncScheduleRequest.cs</Link>
+ </Compile>
<Compile Include="..\MediaBrowser.Model\System\LogFile.cs">
<Link>System\LogFile.cs</Link>
</Compile>
diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj
index 4d4ca8e20..d82e64aa3 100644
--- a/MediaBrowser.Model/MediaBrowser.Model.csproj
+++ b/MediaBrowser.Model/MediaBrowser.Model.csproj
@@ -295,6 +295,14 @@
<Compile Include="Session\SessionInfoDto.cs" />
<Compile Include="Session\SessionUserInfo.cs" />
<Compile Include="Session\UserDataChangeInfo.cs" />
+ <Compile Include="Sync\SyncJob.cs" />
+ <Compile Include="Sync\SyncJobQuery.cs" />
+ <Compile Include="Sync\SyncJobRequest.cs" />
+ <Compile Include="Sync\SyncJobStatus.cs" />
+ <Compile Include="Sync\SyncQuality.cs" />
+ <Compile Include="Sync\SyncSchedule.cs" />
+ <Compile Include="Sync\SyncScheduleQuery.cs" />
+ <Compile Include="Sync\SyncScheduleRequest.cs" />
<Compile Include="System\LogFile.cs" />
<Compile Include="Themes\AppTheme.cs" />
<Compile Include="Themes\AppThemeInfo.cs" />
diff --git a/MediaBrowser.Model/Sync/SyncJob.cs b/MediaBrowser.Model/Sync/SyncJob.cs
new file mode 100644
index 000000000..09049a196
--- /dev/null
+++ b/MediaBrowser.Model/Sync/SyncJob.cs
@@ -0,0 +1,47 @@
+
+namespace MediaBrowser.Model.Sync
+{
+ public class SyncJob
+ {
+ /// <summary>
+ /// Gets or sets the identifier.
+ /// </summary>
+ /// <value>The identifier.</value>
+ public string Id { get; set; }
+ /// <summary>
+ /// Gets or sets the device identifier.
+ /// </summary>
+ /// <value>The device identifier.</value>
+ public string DeviceId { get; set; }
+ /// <summary>
+ /// Gets or sets the item identifier.
+ /// </summary>
+ /// <value>The item identifier.</value>
+ public string ItemId { get; set; }
+ /// <summary>
+ /// Gets or sets the quality.
+ /// </summary>
+ /// <value>The quality.</value>
+ public SyncQuality Quality { get; set; }
+ /// <summary>
+ /// Gets or sets the status.
+ /// </summary>
+ /// <value>The status.</value>
+ public SyncJobStatus Status { get; set; }
+ /// <summary>
+ /// Gets or sets the current progress.
+ /// </summary>
+ /// <value>The current progress.</value>
+ public double? CurrentProgress { get; set; }
+ /// <summary>
+ /// Gets or sets the synchronize rule identifier.
+ /// </summary>
+ /// <value>The synchronize rule identifier.</value>
+ public string SyncScheduleId { get; set; }
+ /// <summary>
+ /// Gets or sets the transcoded path.
+ /// </summary>
+ /// <value>The transcoded path.</value>
+ public string TranscodedPath { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Sync/SyncJobQuery.cs b/MediaBrowser.Model/Sync/SyncJobQuery.cs
new file mode 100644
index 000000000..f41544db9
--- /dev/null
+++ b/MediaBrowser.Model/Sync/SyncJobQuery.cs
@@ -0,0 +1,7 @@
+
+namespace MediaBrowser.Model.Sync
+{
+ public class SyncJobQuery
+ {
+ }
+}
diff --git a/MediaBrowser.Model/Sync/SyncJobRequest.cs b/MediaBrowser.Model/Sync/SyncJobRequest.cs
new file mode 100644
index 000000000..9871f976d
--- /dev/null
+++ b/MediaBrowser.Model/Sync/SyncJobRequest.cs
@@ -0,0 +1,28 @@
+using System.Collections.Generic;
+
+namespace MediaBrowser.Model.Sync
+{
+ public class SyncJobRequest
+ {
+ /// <summary>
+ /// Gets or sets the device identifier.
+ /// </summary>
+ /// <value>The device identifier.</value>
+ public List<string> DeviceIds { get; set; }
+ /// <summary>
+ /// Gets or sets the item identifier.
+ /// </summary>
+ /// <value>The item identifier.</value>
+ public string ItemId { get; set; }
+ /// <summary>
+ /// Gets or sets the quality.
+ /// </summary>
+ /// <value>The quality.</value>
+ public SyncQuality Quality { get; set; }
+
+ public SyncJobRequest()
+ {
+ DeviceIds = new List<string>();
+ }
+ }
+}
diff --git a/MediaBrowser.Model/Sync/SyncJobStatus.cs b/MediaBrowser.Model/Sync/SyncJobStatus.cs
new file mode 100644
index 000000000..2a216fe04
--- /dev/null
+++ b/MediaBrowser.Model/Sync/SyncJobStatus.cs
@@ -0,0 +1,35 @@
+
+namespace MediaBrowser.Model.Sync
+{
+ public enum SyncJobStatus
+ {
+ /// <summary>
+ /// The queued
+ /// </summary>
+ Queued = 0,
+ /// <summary>
+ /// The transcoding
+ /// </summary>
+ Transcoding = 1,
+ /// <summary>
+ /// The transcoding failed
+ /// </summary>
+ TranscodingFailed = 2,
+ /// <summary>
+ /// The transcoding completed
+ /// </summary>
+ TranscodingCompleted = 3,
+ /// <summary>
+ /// The transfering
+ /// </summary>
+ Transfering = 4,
+ /// <summary>
+ /// The transfer failed
+ /// </summary>
+ TransferFailed = 4,
+ /// <summary>
+ /// The completed
+ /// </summary>
+ Completed = 6
+ }
+}
diff --git a/MediaBrowser.Model/Sync/SyncQuality.cs b/MediaBrowser.Model/Sync/SyncQuality.cs
new file mode 100644
index 000000000..f915e2768
--- /dev/null
+++ b/MediaBrowser.Model/Sync/SyncQuality.cs
@@ -0,0 +1,21 @@
+
+namespace MediaBrowser.Model.Sync
+{
+ public enum SyncQuality
+ {
+ /// <summary>
+ /// The good
+ /// </summary>
+ Good = 0,
+
+ /// <summary>
+ /// The better
+ /// </summary>
+ Better = 1,
+
+ /// <summary>
+ /// The best
+ /// </summary>
+ Best = 2
+ }
+}
diff --git a/MediaBrowser.Model/Sync/SyncSchedule.cs b/MediaBrowser.Model/Sync/SyncSchedule.cs
new file mode 100644
index 000000000..297cbd145
--- /dev/null
+++ b/MediaBrowser.Model/Sync/SyncSchedule.cs
@@ -0,0 +1,12 @@
+
+namespace MediaBrowser.Model.Sync
+{
+ public class SyncSchedule
+ {
+ /// <summary>
+ /// Gets or sets the identifier.
+ /// </summary>
+ /// <value>The identifier.</value>
+ public string Id { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Sync/SyncScheduleQuery.cs b/MediaBrowser.Model/Sync/SyncScheduleQuery.cs
new file mode 100644
index 000000000..b704a358c
--- /dev/null
+++ b/MediaBrowser.Model/Sync/SyncScheduleQuery.cs
@@ -0,0 +1,7 @@
+
+namespace MediaBrowser.Model.Sync
+{
+ public class SyncScheduleQuery
+ {
+ }
+}
diff --git a/MediaBrowser.Model/Sync/SyncScheduleRequest.cs b/MediaBrowser.Model/Sync/SyncScheduleRequest.cs
new file mode 100644
index 000000000..e1ba4b115
--- /dev/null
+++ b/MediaBrowser.Model/Sync/SyncScheduleRequest.cs
@@ -0,0 +1,23 @@
+using System.Collections.Generic;
+
+namespace MediaBrowser.Model.Sync
+{
+ public class SyncScheduleRequest
+ {
+ /// <summary>
+ /// Gets or sets the device identifier.
+ /// </summary>
+ /// <value>The device identifier.</value>
+ public List<string> DeviceIds { get; set; }
+ /// <summary>
+ /// Gets or sets the quality.
+ /// </summary>
+ /// <value>The quality.</value>
+ public SyncQuality Quality { get; set; }
+
+ public SyncScheduleRequest()
+ {
+ DeviceIds = new List<string>();
+ }
+ }
+}
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs
index 335fb9769..b84d060d7 100644
--- a/MediaBrowser.Providers/Manager/MetadataService.cs
+++ b/MediaBrowser.Providers/Manager/MetadataService.cs
@@ -339,7 +339,6 @@ namespace MediaBrowser.Providers.Manager
break;
}
- failedProviderCount++;
Logger.Debug("{0} returned no metadata for {1}", providerName, item.Path ?? item.Name);
}
catch (OperationCanceledException)