using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller.Entities; using MediaBrowser.Model.Channels; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Querying; namespace MediaBrowser.Controller.Channels { public interface IChannelManager { /// /// Adds the parts. /// /// The channels. void AddParts(IEnumerable channels); /// /// Gets the channel features. /// /// The identifier. /// ChannelFeatures. ChannelFeatures GetChannelFeatures(string id); /// /// Gets all channel features. /// /// IEnumerable{ChannelFeatures}. ChannelFeatures[] GetAllChannelFeatures(); bool EnableMediaSourceDisplay(BaseItem item); bool CanDelete(BaseItem item); Task DeleteItem(BaseItem item); /// /// Gets the channel. /// /// The identifier. /// Channel. Channel GetChannel(string id); /// /// Gets the channels internal. /// /// The query. QueryResult GetChannelsInternal(ChannelQuery query); /// /// Gets the channels. /// /// The query. QueryResult GetChannels(ChannelQuery query); /// /// Gets the latest media. /// Task> GetLatestChannelItems(InternalItemsQuery query, CancellationToken cancellationToken); /// /// Gets the latest media. /// Task> GetLatestChannelItemsInternal(InternalItemsQuery query, CancellationToken cancellationToken); /// /// Gets the channel items. /// Task> GetChannelItems(InternalItemsQuery query, CancellationToken cancellationToken); /// /// Gets the channel items internal. /// Task> GetChannelItemsInternal(InternalItemsQuery query, IProgress progress, CancellationToken cancellationToken); /// /// Gets the channel item media sources. /// /// The item. /// The cancellation token. /// Task{IEnumerable{MediaSourceInfo}}. IEnumerable GetStaticMediaSources(BaseItem item, CancellationToken cancellationToken); bool EnableMediaProbe(BaseItem item); } }