updated nuget for live tv

This commit is contained in:
Luke Pulverenti
2013-11-26 16:36:11 -05:00
parent af49f6d232
commit e05a84c789
17 changed files with 250 additions and 150 deletions

View File

@@ -3,6 +3,8 @@ using MediaBrowser.Model.Entities;
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.Controller.Entities.Audio
{
@@ -30,13 +32,24 @@ namespace MediaBrowser.Controller.Entities.Audio
{
if (IsAccessedByName)
{
throw new InvalidOperationException("Artists accessed by name do not have children.");
return new List<BaseItem>();
}
return base.ActualChildren;
}
}
protected override Task ValidateChildrenInternal(IProgress<double> progress, CancellationToken cancellationToken, bool? recursive = null, bool forceRefreshMetadata = false)
{
if (IsAccessedByName)
{
// Should never get in here anyway
return Task.FromResult(true);
}
return base.ValidateChildrenInternal(progress, cancellationToken, recursive, forceRefreshMetadata);
}
public override string GetClientTypeName()
{
if (IsAccessedByName)

View File

@@ -25,12 +25,6 @@ namespace MediaBrowser.Controller.LiveTv
/// <value>The id of the channel.</value>
public string Id { get; set; }
/// <summary>
/// Gets or sets the name of the service.
/// </summary>
/// <value>The name of the service.</value>
public string ServiceName { get; set; }
/// <summary>
/// Gets or sets the type of the channel.
/// </summary>

View File

@@ -1,6 +1,8 @@
using MediaBrowser.Model.LiveTv;
using System.Threading;
using MediaBrowser.Model.LiveTv;
using MediaBrowser.Model.Querying;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace MediaBrowser.Controller.LiveTv
{
@@ -15,6 +17,13 @@ namespace MediaBrowser.Controller.LiveTv
/// <value>The services.</value>
IReadOnlyList<ILiveTvService> Services { get; }
/// <summary>
/// Schedules the recording.
/// </summary>
/// <param name="programId">The program identifier.</param>
/// <returns>Task.</returns>
Task ScheduleRecording(string programId);
/// <summary>
/// Adds the parts.
/// </summary>
@@ -31,8 +40,10 @@ namespace MediaBrowser.Controller.LiveTv
/// <summary>
/// Gets the recordings.
/// </summary>
/// <param name="query">The query.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>QueryResult{RecordingInfoDto}.</returns>
QueryResult<RecordingInfoDto> GetRecordings();
Task<QueryResult<RecordingInfoDto>> GetRecordings(RecordingQuery query, CancellationToken cancellationToken);
/// <summary>
/// Gets the channel.
@@ -53,7 +64,8 @@ namespace MediaBrowser.Controller.LiveTv
/// Gets the programs.
/// </summary>
/// <param name="query">The query.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>IEnumerable{ProgramInfo}.</returns>
QueryResult<ProgramInfoDto> GetPrograms(ProgramQuery query);
Task<QueryResult<ProgramInfoDto>> GetPrograms(ProgramQuery query, CancellationToken cancellationToken);
}
}

View File

@@ -1,5 +1,4 @@
using MediaBrowser.Common.Net;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
@@ -25,12 +24,12 @@ namespace MediaBrowser.Controller.LiveTv
Task<IEnumerable<ChannelInfo>> GetChannelsAsync(CancellationToken cancellationToken);
/// <summary>
/// Cancels the recording asynchronous.
/// Cancels the timer asynchronous.
/// </summary>
/// <param name="recordingId">The recording identifier.</param>
/// <param name="timerId">The timer identifier.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
Task CancelRecordingAsync(string recordingId, CancellationToken cancellationToken);
Task CancelTimerAsync(string timerId, CancellationToken cancellationToken);
/// <summary>
/// Deletes the recording asynchronous.
@@ -39,18 +38,23 @@ namespace MediaBrowser.Controller.LiveTv
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
Task DeleteRecordingAsync(string recordingId, CancellationToken cancellationToken);
/// <summary>
/// Schedules the recording asynchronous.
/// Creates the timer asynchronous.
/// </summary>
/// <param name="name">The name for the recording</param>
/// <param name="channelId">The channel identifier.</param>
/// <param name="startTime">The start time.</param>
/// <param name="duration">The duration.</param>
/// <param name="info">The information.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
Task ScheduleRecordingAsync(string name, string channelId, DateTime startTime, TimeSpan duration, CancellationToken cancellationToken);
Task CreateTimerAsync(TimerInfo info, CancellationToken cancellationToken);
/// <summary>
/// Updates the timer asynchronous.
/// </summary>
/// <param name="info">The information.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
Task UpdateTimerAsync(TimerInfo info, CancellationToken cancellationToken);
/// <summary>
/// Gets the channel image asynchronous.
/// </summary>
@@ -66,6 +70,13 @@ namespace MediaBrowser.Controller.LiveTv
/// <returns>Task{IEnumerable{RecordingInfo}}.</returns>
Task<IEnumerable<RecordingInfo>> GetRecordingsAsync(CancellationToken cancellationToken);
/// <summary>
/// Gets the recordings asynchronous.
/// </summary>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task{IEnumerable{RecordingInfo}}.</returns>
Task<IEnumerable<TimerInfo>> GetTimersAsync(CancellationToken cancellationToken);
/// <summary>
/// Gets the programs asynchronous.
/// </summary>

View File

@@ -43,6 +43,12 @@ namespace MediaBrowser.Controller.LiveTv
/// </summary>
public DateTime EndDate { get; set; }
/// <summary>
/// Gets or sets the aspect ratio.
/// </summary>
/// <value>The aspect ratio.</value>
public string AspectRatio { get; set; }
/// <summary>
/// Genre of the program.
/// </summary>

View File

@@ -1,6 +1,5 @@
using MediaBrowser.Model.LiveTv;
using System;
using System.Collections.Generic;
namespace MediaBrowser.Controller.LiveTv
{
@@ -20,12 +19,6 @@ namespace MediaBrowser.Controller.LiveTv
/// ChannelName of the recording.
/// </summary>
public string ChannelName { get; set; }
/// <summary>
/// Gets or sets the program identifier.
/// </summary>
/// <value>The program identifier.</value>
public string ProgramId { get; set; }
/// <summary>
/// Name of the recording.
@@ -52,31 +45,5 @@ namespace MediaBrowser.Controller.LiveTv
/// </summary>
/// <value>The status.</value>
public RecordingStatus Status { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this instance is recurring.
/// </summary>
/// <value><c>true</c> if this instance is recurring; otherwise, <c>false</c>.</value>
public bool IsRecurring { get; set; }
/// <summary>
/// Parent recurring.
/// </summary>
public string RecurringParent { get; set; }
/// <summary>
/// Start date for the recurring, in UTC.
/// </summary>
public DateTime RecurrringStartDate { get; set; }
/// <summary>
/// End date for the recurring, in UTC
/// </summary>
public DateTime RecurringEndDate { get; set; }
/// <summary>
/// When do we need the recording?
/// </summary>
public List<string> DayMask { get; set; }
}
}

View File

@@ -0,0 +1,67 @@
using MediaBrowser.Model.LiveTv;
using System;
using System.Collections.Generic;
namespace MediaBrowser.Controller.LiveTv
{
public class TimerInfo
{
/// <summary>
/// Id of the recording.
/// </summary>
public string Id { get; set; }
/// <summary>
/// ChannelId of the recording.
/// </summary>
public string ChannelId { get; set; }
/// <summary>
/// ChannelName of the recording.
/// </summary>
public string ChannelName { get; set; }
/// <summary>
/// Name of the recording.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Description of the recording.
/// </summary>
public string Description { get; set; }
/// <summary>
/// The start date of the recording, in UTC.
/// </summary>
public DateTime StartDate { get; set; }
/// <summary>
/// The end date of the recording, in UTC.
/// </summary>
public DateTime EndDate { get; set; }
/// <summary>
/// Gets or sets the status.
/// </summary>
/// <value>The status.</value>
public RecordingStatus Status { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this instance is recurring.
/// </summary>
/// <value><c>true</c> if this instance is recurring; otherwise, <c>false</c>.</value>
public bool IsRecurring { get; set; }
/// <summary>
/// Gets or sets the recurring days.
/// </summary>
/// <value>The recurring days.</value>
public List<DayOfWeek> RecurringDays { get; set; }
public TimerInfo()
{
RecurringDays = new List<DayOfWeek>();
}
}
}

View File

@@ -110,6 +110,7 @@
<Compile Include="LiveTv\ILiveTvService.cs" />
<Compile Include="LiveTv\ProgramInfo.cs" />
<Compile Include="LiveTv\RecordingInfo.cs" />
<Compile Include="LiveTv\TimerInfo.cs" />
<Compile Include="Localization\ILocalizationManager.cs" />
<Compile Include="Notifications\INotificationsRepository.cs" />
<Compile Include="Notifications\NotificationUpdateEventArgs.cs" />