IChannelManager.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. using MediaBrowser.Model.Channels;
  2. using MediaBrowser.Model.Dto;
  3. using MediaBrowser.Model.Querying;
  4. using System.Collections.Generic;
  5. using System.Threading;
  6. using System.Threading.Tasks;
  7. namespace MediaBrowser.Controller.Channels
  8. {
  9. public interface IChannelManager
  10. {
  11. /// <summary>
  12. /// Adds the parts.
  13. /// </summary>
  14. /// <param name="channels">The channels.</param>
  15. /// <param name="factories">The factories.</param>
  16. void AddParts(IEnumerable<IChannel> channels, IEnumerable<IChannelFactory> factories);
  17. /// <summary>
  18. /// Gets the channel download path.
  19. /// </summary>
  20. /// <value>The channel download path.</value>
  21. string ChannelDownloadPath { get; }
  22. /// <summary>
  23. /// Gets the channel features.
  24. /// </summary>
  25. /// <param name="id">The identifier.</param>
  26. /// <returns>ChannelFeatures.</returns>
  27. ChannelFeatures GetChannelFeatures(string id);
  28. /// <summary>
  29. /// Gets all channel features.
  30. /// </summary>
  31. /// <returns>IEnumerable{ChannelFeatures}.</returns>
  32. IEnumerable<ChannelFeatures> GetAllChannelFeatures();
  33. /// <summary>
  34. /// Gets the channel.
  35. /// </summary>
  36. /// <param name="id">The identifier.</param>
  37. /// <returns>Channel.</returns>
  38. Channel GetChannel(string id);
  39. /// <summary>
  40. /// Gets the channels.
  41. /// </summary>
  42. /// <param name="query">The query.</param>
  43. /// <param name="cancellationToken">The cancellation token.</param>
  44. /// <returns>Task{QueryResult{BaseItemDto}}.</returns>
  45. Task<QueryResult<BaseItemDto>> GetChannels(ChannelQuery query, CancellationToken cancellationToken);
  46. /// <summary>
  47. /// Gets all media.
  48. /// </summary>
  49. /// <param name="query">The query.</param>
  50. /// <param name="cancellationToken">The cancellation token.</param>
  51. /// <returns>Task{QueryResult{BaseItemDto}}.</returns>
  52. Task<QueryResult<BaseItemDto>> GetAllMedia(AllChannelMediaQuery query, CancellationToken cancellationToken);
  53. /// <summary>
  54. /// Gets the channel items.
  55. /// </summary>
  56. /// <param name="query">The query.</param>
  57. /// <param name="cancellationToken">The cancellation token.</param>
  58. /// <returns>Task{QueryResult{BaseItemDto}}.</returns>
  59. Task<QueryResult<BaseItemDto>> GetChannelItems(ChannelItemQuery query, CancellationToken cancellationToken);
  60. /// <summary>
  61. /// Gets the cached channel item media sources.
  62. /// </summary>
  63. /// <param name="id">The identifier.</param>
  64. /// <returns>IEnumerable{MediaSourceInfo}.</returns>
  65. IEnumerable<MediaSourceInfo> GetCachedChannelItemMediaSources(string id);
  66. /// <summary>
  67. /// Gets the channel item media sources.
  68. /// </summary>
  69. /// <param name="id">The identifier.</param>
  70. /// <param name="cancellationToken">The cancellation token.</param>
  71. /// <returns>Task{IEnumerable{MediaSourceInfo}}.</returns>
  72. Task<IEnumerable<MediaSourceInfo>> GetChannelItemMediaSources(string id, CancellationToken cancellationToken);
  73. }
  74. }