IChannelManager.cs 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. QueryResult<Channel> GetChannelsInternal(ChannelQuery query);
  45. /// <summary>
  46. /// Gets the channels.
  47. /// </summary>
  48. /// <param name="query">The query.</param>
  49. QueryResult<BaseItemDto> GetChannels(ChannelQuery query);
  50. /// <summary>
  51. /// Gets the latest media.
  52. /// </summary>
  53. Task<QueryResult<BaseItemDto>> GetLatestChannelItems(InternalItemsQuery query, CancellationToken cancellationToken);
  54. /// <summary>
  55. /// Gets the latest media.
  56. /// </summary>
  57. Task<QueryResult<BaseItem>> GetLatestChannelItemsInternal(InternalItemsQuery query, CancellationToken cancellationToken);
  58. /// <summary>
  59. /// Gets the channel items.
  60. /// </summary>
  61. Task<QueryResult<BaseItemDto>> GetChannelItems(InternalItemsQuery query, CancellationToken cancellationToken);
  62. /// <summary>
  63. /// Gets the channel items internal.
  64. /// </summary>
  65. Task<QueryResult<BaseItem>> GetChannelItemsInternal(InternalItemsQuery query, IProgress<double> progress, CancellationToken cancellationToken);
  66. /// <summary>
  67. /// Gets the channel item media sources.
  68. /// </summary>
  69. /// <param name="item">The item.</param>
  70. /// <param name="cancellationToken">The cancellation token.</param>
  71. /// <returns>Task{IEnumerable{MediaSourceInfo}}.</returns>
  72. IEnumerable<MediaSourceInfo> GetStaticMediaSources(BaseItem item, CancellationToken cancellationToken);
  73. bool EnableMediaProbe(BaseItem item);
  74. }
  75. }