IChannelManager.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. #nullable disable
  2. #pragma warning disable CS1591
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Threading;
  6. using System.Threading.Tasks;
  7. using MediaBrowser.Controller.Entities;
  8. using MediaBrowser.Model.Channels;
  9. using MediaBrowser.Model.Dto;
  10. using MediaBrowser.Model.Querying;
  11. namespace MediaBrowser.Controller.Channels
  12. {
  13. public interface IChannelManager
  14. {
  15. /// <summary>
  16. /// Adds the parts.
  17. /// </summary>
  18. /// <param name="channels">The channels.</param>
  19. void AddParts(IEnumerable<IChannel> channels);
  20. /// <summary>
  21. /// Gets the channel features.
  22. /// </summary>
  23. /// <param name="id">The identifier.</param>
  24. /// <returns>ChannelFeatures.</returns>
  25. ChannelFeatures GetChannelFeatures(Guid? id);
  26. /// <summary>
  27. /// Gets all channel features.
  28. /// </summary>
  29. /// <returns>IEnumerable{ChannelFeatures}.</returns>
  30. ChannelFeatures[] GetAllChannelFeatures();
  31. bool EnableMediaSourceDisplay(BaseItem item);
  32. bool CanDelete(BaseItem item);
  33. Task DeleteItem(BaseItem item);
  34. /// <summary>
  35. /// Gets the channel.
  36. /// </summary>
  37. /// <param name="id">The identifier.</param>
  38. /// <returns>Channel.</returns>
  39. Channel GetChannel(string id);
  40. /// <summary>
  41. /// Gets the channels internal.
  42. /// </summary>
  43. /// <param name="query">The query.</param>
  44. /// <returns>The channels.</returns>
  45. QueryResult<Channel> GetChannelsInternal(ChannelQuery query);
  46. /// <summary>
  47. /// Gets the channels.
  48. /// </summary>
  49. /// <param name="query">The query.</param>
  50. /// <returns>The channels.</returns>
  51. QueryResult<BaseItemDto> GetChannels(ChannelQuery query);
  52. /// <summary>
  53. /// Gets the latest channel items.
  54. /// </summary>
  55. /// <param name="query">The item query.</param>
  56. /// <param name="cancellationToken">The cancellation token.</param>
  57. /// <returns>The latest channels.</returns>
  58. Task<QueryResult<BaseItemDto>> GetLatestChannelItems(InternalItemsQuery query, CancellationToken cancellationToken);
  59. /// <summary>
  60. /// Gets the latest channel items.
  61. /// </summary>
  62. /// <param name="query">The item query.</param>
  63. /// <param name="cancellationToken">The cancellation token.</param>
  64. /// <returns>The latest channels.</returns>
  65. Task<QueryResult<BaseItem>> GetLatestChannelItemsInternal(InternalItemsQuery query, CancellationToken cancellationToken);
  66. /// <summary>
  67. /// Gets the channel items.
  68. /// </summary>
  69. /// <param name="query">The query.</param>
  70. /// <param name="cancellationToken">The cancellation token.</param>
  71. /// <returns>The channel items.</returns>
  72. Task<QueryResult<BaseItemDto>> GetChannelItems(InternalItemsQuery query, CancellationToken cancellationToken);
  73. /// <summary>
  74. /// Gets the channel items.
  75. /// </summary>
  76. /// <param name="query">The query.</param>
  77. /// <param name="progress">The progress to report to.</param>
  78. /// <param name="cancellationToken">The cancellation token.</param>
  79. /// <returns>The channel items.</returns>
  80. Task<QueryResult<BaseItem>> GetChannelItemsInternal(InternalItemsQuery query, IProgress<double> progress, CancellationToken cancellationToken);
  81. /// <summary>
  82. /// Gets the channel item media sources.
  83. /// </summary>
  84. /// <param name="item">The item.</param>
  85. /// <param name="cancellationToken">The cancellation token.</param>
  86. /// <returns>The item media sources.</returns>
  87. IEnumerable<MediaSourceInfo> GetStaticMediaSources(BaseItem item, CancellationToken cancellationToken);
  88. /// <summary>
  89. /// Whether the item supports media probe.
  90. /// </summary>
  91. /// <param name="item">The item.</param>
  92. /// <returns>Whether media probe should be enabled.</returns>
  93. bool EnableMediaProbe(BaseItem item);
  94. }
  95. }