support sync for live tv recordings

This commit is contained in:
Luke Pulverenti
2015-04-12 14:58:21 -04:00
parent d4b61da59d
commit 933fca78e6
14 changed files with 153 additions and 19 deletions

View File

@@ -3,6 +3,7 @@ using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Extensions;
using MediaBrowser.Model.Library;
using MediaBrowser.Model.Providers;
using MediaBrowser.Model.Sync;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@@ -16,7 +17,7 @@ namespace MediaBrowser.Model.Dto
/// This holds information about a BaseItem in a format that is convenient for the client.
/// </summary>
[DebuggerDisplay("Name = {Name}, ID = {Id}, Type = {Type}")]
public class BaseItemDto : IHasProviderIds, IHasPropertyChangedEvent, IItemDto, IHasServerId
public class BaseItemDto : IHasProviderIds, IHasPropertyChangedEvent, IItemDto, IHasServerId, IHasSyncInfo
{
/// <summary>
/// Gets or sets the name.
@@ -87,6 +88,11 @@ namespace MediaBrowser.Model.Dto
/// </summary>
/// <value><c>null</c> if [is synced] contains no value, <c>true</c> if [is synced]; otherwise, <c>false</c>.</value>
public bool? IsSynced { get; set; }
/// <summary>
/// Gets or sets the synchronize status.
/// </summary>
/// <value>The synchronize status.</value>
public SyncJobItemStatus? SyncStatus { get; set; }
/// <summary>
/// Gets or sets the DVD season number.

View File

@@ -0,0 +1,13 @@
using MediaBrowser.Model.Sync;
namespace MediaBrowser.Model.Dto
{
public interface IHasSyncInfo
{
string Id { get; }
bool? SupportsSync { get; set; }
bool? HasSyncJob { get; set; }
bool? IsSynced { get; set; }
SyncJobItemStatus? SyncStatus { get; set; }
}
}

View File

@@ -2,6 +2,7 @@
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Extensions;
using MediaBrowser.Model.Library;
using MediaBrowser.Model.Sync;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@@ -11,7 +12,7 @@ using System.Runtime.Serialization;
namespace MediaBrowser.Model.LiveTv
{
[DebuggerDisplay("Name = {Name}, ChannelName = {ChannelName}")]
public class RecordingInfoDto : IHasPropertyChangedEvent, IItemDto, IHasServerId
public class RecordingInfoDto : IHasPropertyChangedEvent, IItemDto, IHasServerId, IHasSyncInfo
{
/// <summary>
/// Id of the recording.
@@ -35,6 +36,27 @@ namespace MediaBrowser.Model.LiveTv
/// </summary>
/// <value>The original primary image aspect ratio.</value>
public double? OriginalPrimaryImageAspectRatio { get; set; }
/// <summary>
/// Gets or sets a value indicating whether [supports synchronize].
/// </summary>
/// <value><c>null</c> if [supports synchronize] contains no value, <c>true</c> if [supports synchronize]; otherwise, <c>false</c>.</value>
public bool? SupportsSync { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this instance has synchronize job.
/// </summary>
/// <value><c>null</c> if [has synchronize job] contains no value, <c>true</c> if [has synchronize job]; otherwise, <c>false</c>.</value>
public bool? HasSyncJob { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this instance is synced.
/// </summary>
/// <value><c>null</c> if [is synced] contains no value, <c>true</c> if [is synced]; otherwise, <c>false</c>.</value>
public bool? IsSynced { get; set; }
/// <summary>
/// Gets or sets the synchronize status.
/// </summary>
/// <value>The synchronize status.</value>
public SyncJobItemStatus? SyncStatus { get; set; }
/// <summary>
/// Gets or sets the series timer identifier.

View File

@@ -138,6 +138,7 @@
<Compile Include="Dlna\SubtitleStreamInfo.cs" />
<Compile Include="Drawing\ImageOrientation.cs" />
<Compile Include="Dto\IHasServerId.cs" />
<Compile Include="Dto\IHasSyncInfo.cs" />
<Compile Include="Dto\MetadataEditorInfo.cs" />
<Compile Include="Dto\NameIdPair.cs" />
<Compile Include="Dto\NameValuePair.cs" />