using MediaBrowser.Model.Channels; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Querying; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Controller.Channels { public interface IChannelManager { /// /// Adds the parts. /// /// The channels. /// The factories. void AddParts(IEnumerable channels, IEnumerable factories); /// /// Gets the channel download path. /// /// The channel download path. string ChannelDownloadPath { get; } /// /// Gets the channel features. /// /// The identifier. /// ChannelFeatures. ChannelFeatures GetChannelFeatures(string id); /// /// Gets all channel features. /// /// IEnumerable{ChannelFeatures}. IEnumerable GetAllChannelFeatures(); /// /// Gets the channel. /// /// The identifier. /// Channel. Channel GetChannel(string id); /// /// Gets the channels. /// /// The query. /// The cancellation token. /// Task{QueryResult{BaseItemDto}}. Task> GetChannels(ChannelQuery query, CancellationToken cancellationToken); /// /// Gets all media. /// /// The query. /// The cancellation token. /// Task{QueryResult{BaseItemDto}}. Task> GetAllMedia(AllChannelMediaQuery query, CancellationToken cancellationToken); /// /// Gets the channel items. /// /// The query. /// The cancellation token. /// Task{QueryResult{BaseItemDto}}. Task> GetChannelItems(ChannelItemQuery query, CancellationToken cancellationToken); /// /// Gets the channel item media sources. /// /// The identifier. /// The cancellation token. /// Task{IEnumerable{ChannelMediaInfo}}. Task> GetChannelItemMediaSources(string id, CancellationToken cancellationToken); } }