123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- using MediaBrowser.Model.LiveTv;
- using MediaBrowser.Model.Querying;
- using System.Collections.Generic;
- using System.Threading;
- 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 active service.
- /// </summary>
- /// <value>The active service.</value>
- ILiveTvService ActiveService { get; }
- /// <summary>
- /// Gets the services.
- /// </summary>
- /// <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>
- /// 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>
- /// Gets the channels.
- /// </summary>
- /// <param name="query">The query.</param>
- /// <returns>IEnumerable{Channel}.</returns>
- QueryResult<ChannelInfoDto> GetChannels(ChannelQuery query);
- /// <summary>
- /// Gets the recording.
- /// </summary>
- /// <param name="id">The identifier.</param>
- /// <param name="cancellationToken">The cancellation token.</param>
- /// <returns>Task{RecordingInfoDto}.</returns>
- Task<RecordingInfoDto> GetRecording(string id, CancellationToken cancellationToken);
- /// <summary>
- /// Gets the timer.
- /// </summary>
- /// <param name="id">The identifier.</param>
- /// <param name="cancellationToken">The cancellation token.</param>
- /// <returns>Task{TimerInfoDto}.</returns>
- Task<TimerInfoDto> GetTimer(string id, CancellationToken cancellationToken);
- /// <summary>
- /// Gets the recordings.
- /// </summary>
- /// <param name="query">The query.</param>
- /// <param name="cancellationToken">The cancellation token.</param>
- /// <returns>QueryResult{RecordingInfoDto}.</returns>
- Task<QueryResult<RecordingInfoDto>> GetRecordings(RecordingQuery query, CancellationToken cancellationToken);
- /// <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);
- /// <summary>
- /// Gets the channel.
- /// </summary>
- /// <param name="id">The identifier.</param>
- /// <returns>Channel.</returns>
- Channel GetChannel(string id);
- /// <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);
- /// <summary>
- /// Gets the programs.
- /// </summary>
- /// <param name="query">The query.</param>
- /// <param name="cancellationToken">The cancellation token.</param>
- /// <returns>IEnumerable{ProgramInfo}.</returns>
- Task<QueryResult<ProgramInfoDto>> GetPrograms(ProgramQuery query, CancellationToken cancellationToken);
- }
- }
|