using System; using MediaBrowser.Controller.Entities; 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); /// /// Gets the channel download path. /// /// The channel download path. string ChannelDownloadPath { get; } /// /// Gets the channel features. /// /// The identifier. /// ChannelFeatures. ChannelFeatures GetChannelFeatures(string id); bool SupportsSync(string channelId); /// /// Gets all channel features. /// /// IEnumerable{ChannelFeatures}. IEnumerable GetAllChannelFeatures(); /// /// Gets the channel. /// /// The identifier. /// Channel. Channel GetChannel(string id); /// /// Gets the channels internal. /// /// The query. /// The cancellation token. /// Task<QueryResult<Channel>>. Task> GetChannelsInternal(ChannelQuery query, CancellationToken cancellationToken); /// /// Gets the channels. /// /// The query. /// The cancellation token. /// Task{QueryResult{BaseItemDto}}. Task> GetChannels(ChannelQuery query, CancellationToken cancellationToken); /// /// Gets all media internal. /// /// The query. /// The cancellation token. /// Task<QueryResult<BaseItem>>. Task> GetAllMediaInternal(AllChannelMediaQuery query, CancellationToken cancellationToken); /// /// Gets all media. /// /// The query. /// The cancellation token. /// Task{QueryResult{BaseItemDto}}. Task> GetAllMedia(AllChannelMediaQuery query, CancellationToken cancellationToken); /// /// Gets the latest media. /// /// The query. /// The cancellation token. /// Task{QueryResult{BaseItemDto}}. Task> GetLatestChannelItems(AllChannelMediaQuery query, CancellationToken cancellationToken); /// /// Gets the latest channel items internal. /// /// The query. /// The cancellation token. /// Task<QueryResult<BaseItem>>. Task> GetLatestChannelItemsInternal(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 items internal. /// /// The query. /// The progress. /// The cancellation token. /// Task<QueryResult<BaseItem>>. Task> GetChannelItemsInternal(ChannelItemQuery query, IProgress progress, CancellationToken cancellationToken); /// /// Gets the channel item media sources. /// /// The item. /// if set to true [include cached versions]. /// The cancellation token. /// Task{IEnumerable{MediaSourceInfo}}. Task> GetStaticMediaSources(BaseItem item, bool includeCachedVersions, CancellationToken cancellationToken); /// /// Gets the channel folder. /// /// The cancellation token. /// BaseItemDto. Task GetInternalChannelFolder(CancellationToken cancellationToken); /// /// Gets the channel folder. /// /// The user identifier. /// The cancellation token. /// BaseItemDto. Task GetChannelFolder(string userId, CancellationToken cancellationToken); } }