jellyfin/MediaBrowser.Controller/LiveTv/ILiveTvManager.cs

94 lines
3.2 KiB
C#
Raw Normal View History

using MediaBrowser.Model.LiveTv;
2013-11-25 20:39:23 +00:00
using MediaBrowser.Model.Querying;
using System.Collections.Generic;
using System.Threading;
2013-11-26 21:36:11 +00:00
using System.Threading.Tasks;
namespace MediaBrowser.Controller.LiveTv
{
/// <summary>
/// Manages all live tv services installed on the server
/// </summary>
public interface ILiveTvManager
{
/// <summary>
/// Gets the services.
/// </summary>
/// <value>The services.</value>
IReadOnlyList<ILiveTvService> Services { get; }
2013-11-26 21:36:11 +00:00
/// <summary>
/// Schedules the recording.
/// </summary>
/// <param name="programId">The program identifier.</param>
/// <returns>Task.</returns>
Task ScheduleRecording(string programId);
/// <summary>
/// Deletes the recording.
/// </summary>
/// <param name="id">The identifier.</param>
/// <returns>Task.</returns>
Task DeleteRecording(string id);
/// <summary>
/// Cancels the timer.
/// </summary>
/// <param name="id">The identifier.</param>
/// <returns>Task.</returns>
Task CancelTimer(string id);
/// <summary>
/// Adds the parts.
/// </summary>
/// <param name="services">The services.</param>
void AddParts(IEnumerable<ILiveTvService> services);
/// <summary>
2013-11-24 20:51:45 +00:00
/// Gets the channels.
/// </summary>
2013-11-24 20:51:45 +00:00
/// <param name="query">The query.</param>
/// <returns>IEnumerable{Channel}.</returns>
2013-11-25 20:39:23 +00:00
QueryResult<ChannelInfoDto> GetChannels(ChannelQuery query);
2013-11-24 20:51:45 +00:00
/// <summary>
2013-11-26 02:53:48 +00:00
/// Gets the recordings.
2013-11-24 20:51:45 +00:00
/// </summary>
2013-11-26 21:36:11 +00:00
/// <param name="query">The query.</param>
/// <param name="cancellationToken">The cancellation token.</param>
2013-11-26 02:53:48 +00:00
/// <returns>QueryResult{RecordingInfoDto}.</returns>
2013-11-26 21:36:11 +00:00
Task<QueryResult<RecordingInfoDto>> GetRecordings(RecordingQuery query, CancellationToken cancellationToken);
2013-11-24 20:51:45 +00:00
2013-11-27 19:04:19 +00:00
/// <summary>
/// Gets the timers.
/// </summary>
/// <param name="query">The query.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task{QueryResult{TimerInfoDto}}.</returns>
Task<QueryResult<TimerInfoDto>> GetTimers(TimerQuery query, CancellationToken cancellationToken);
2013-11-24 20:51:45 +00:00
/// <summary>
/// Gets the channel.
/// </summary>
2013-11-24 21:30:38 +00:00
/// <param name="id">The identifier.</param>
2013-11-24 20:51:45 +00:00
/// <returns>Channel.</returns>
2013-11-24 21:30:38 +00:00
Channel GetChannel(string id);
2013-11-25 16:15:31 +00:00
2013-11-26 02:53:48 +00:00
/// <summary>
/// Gets the channel.
/// </summary>
/// <param name="id">The identifier.</param>
/// <param name="userId">The user identifier.</param>
/// <returns>Channel.</returns>
ChannelInfoDto GetChannelInfoDto(string id, string userId);
2013-11-25 16:15:31 +00:00
/// <summary>
/// Gets the programs.
/// </summary>
/// <param name="query">The query.</param>
2013-11-26 21:36:11 +00:00
/// <param name="cancellationToken">The cancellation token.</param>
2013-11-25 16:15:31 +00:00
/// <returns>IEnumerable{ProgramInfo}.</returns>
2013-11-26 21:36:11 +00:00
Task<QueryResult<ProgramInfoDto>> GetPrograms(ProgramQuery query, CancellationToken cancellationToken);
}
}