using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Controller.LiveTv { /// /// Represents a single live tv back end (next pvr, media portal, etc). /// public interface ILiveTvService { /// /// Gets the name. /// /// The name. string Name { get; } /// /// Gets the channels async. /// /// The cancellation token. /// Task{IEnumerable{ChannelInfo}}. Task> GetChannelsAsync(CancellationToken cancellationToken); /// /// Cancels the timer asynchronous. /// /// The timer identifier. /// The cancellation token. /// Task. Task CancelTimerAsync(string timerId, CancellationToken cancellationToken); /// /// Deletes the recording asynchronous. /// /// The recording identifier. /// The cancellation token. /// Task. Task DeleteRecordingAsync(string recordingId, CancellationToken cancellationToken); /// /// Creates the timer asynchronous. /// /// The information. /// The cancellation token. /// Task. Task CreateTimerAsync(TimerInfo info, CancellationToken cancellationToken); /// /// Creates the series timer asynchronous. /// /// The information. /// The cancellation token. /// Task. Task CreateSeriesTimerAsync(SeriesTimerInfo info, CancellationToken cancellationToken); /// /// Updates the timer asynchronous. /// /// The information. /// The cancellation token. /// Task. Task UpdateTimerAsync(TimerInfo info, CancellationToken cancellationToken); /// /// Updates the series timer asynchronous. /// /// The information. /// The cancellation token. /// Task. Task UpdateSeriesTimerAsync(SeriesTimerInfo info, CancellationToken cancellationToken); /// /// Gets the channel image asynchronous. /// /// The channel identifier. /// The cancellation token. /// Task{Stream}. Task GetChannelImageAsync(string channelId, CancellationToken cancellationToken); /// /// Gets the recording image asynchronous. /// /// The channel identifier. /// The cancellation token. /// Task{ImageResponseInfo}. Task GetRecordingImageAsync(string channelId, CancellationToken cancellationToken); /// /// Gets the program image asynchronous. /// /// The channel identifier. /// The cancellation token. /// Task{ImageResponseInfo}. Task GetProgramImageAsync(string channelId, CancellationToken cancellationToken); /// /// Gets the recordings asynchronous. /// /// The cancellation token. /// Task{IEnumerable{RecordingInfo}}. Task> GetRecordingsAsync(CancellationToken cancellationToken); /// /// Gets the recordings asynchronous. /// /// The cancellation token. /// Task{IEnumerable{RecordingInfo}}. Task> GetTimersAsync(CancellationToken cancellationToken); /// /// Gets the series timers asynchronous. /// /// The cancellation token. /// Task{IEnumerable{SeriesTimerInfo}}. Task> GetSeriesTimersAsync(CancellationToken cancellationToken); /// /// Gets the programs asynchronous. /// /// The channel identifier. /// The cancellation token. /// Task{IEnumerable{ProgramInfo}}. Task> GetProgramsAsync(string channelId, CancellationToken cancellationToken); } }