using MediaBrowser.Common.Net; using MediaBrowser.Model.LiveTv; using System; 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 recording asynchronous. /// /// The recording identifier. /// The cancellation token. /// Task. Task CancelRecordingAsync(string recordingId, CancellationToken cancellationToken); /// /// Schedules the recording asynchronous. /// /// The name for the recording /// The channel identifier. /// The start time. /// The duration. /// The cancellation token. /// Task. Task ScheduleRecordingAsync(string name,string channelId, DateTime startTime, TimeSpan duration, CancellationToken cancellationToken); /// /// Gets the channel image asynchronous. /// /// The channel identifier. /// The cancellation token. /// Task{Stream}. Task GetChannelImageAsync(string channelId, CancellationToken cancellationToken); /// /// Gets the recordings asynchronous. /// /// The query. /// The cancellation token. /// Task{IEnumerable{RecordingInfo}}. Task> GetRecordingsAsync(RecordingQuery query, CancellationToken cancellationToken); /// /// Gets the channel guide. /// /// The channel identifier. /// The cancellation token. /// Task{IEnumerable{ProgramInfo}}. Task> GetChannelGuideAsync(string channelId, CancellationToken cancellationToken); } }