LiveTvServiceCollectionExtensions.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Jellyfin.LiveTv.Channels;
  2. using Jellyfin.LiveTv.Guide;
  3. using Jellyfin.LiveTv.IO;
  4. using Jellyfin.LiveTv.Listings;
  5. using Jellyfin.LiveTv.Timers;
  6. using Jellyfin.LiveTv.TunerHosts;
  7. using Jellyfin.LiveTv.TunerHosts.HdHomerun;
  8. using MediaBrowser.Controller.Channels;
  9. using MediaBrowser.Controller.LiveTv;
  10. using MediaBrowser.Model.IO;
  11. using Microsoft.Extensions.DependencyInjection;
  12. namespace Jellyfin.LiveTv.Extensions;
  13. /// <summary>
  14. /// Live TV extensions for <see cref="IServiceCollection"/>.
  15. /// </summary>
  16. public static class LiveTvServiceCollectionExtensions
  17. {
  18. /// <summary>
  19. /// Adds Live TV services to the <see cref="IServiceCollection"/>.
  20. /// </summary>
  21. /// <param name="services">The <see cref="IServiceCollection"/> to add services to.</param>
  22. public static void AddLiveTvServices(this IServiceCollection services)
  23. {
  24. services.AddSingleton<LiveTvDtoService>();
  25. services.AddSingleton<TimerManager>();
  26. services.AddSingleton<SeriesTimerManager>();
  27. services.AddSingleton<ILiveTvManager, LiveTvManager>();
  28. services.AddSingleton<IChannelManager, ChannelManager>();
  29. services.AddSingleton<IStreamHelper, StreamHelper>();
  30. services.AddSingleton<ITunerHostManager, TunerHostManager>();
  31. services.AddSingleton<IListingsManager, ListingsManager>();
  32. services.AddSingleton<IGuideManager, GuideManager>();
  33. services.AddSingleton<ILiveTvService, EmbyTV.EmbyTV>();
  34. services.AddSingleton<ITunerHost, HdHomerunHost>();
  35. services.AddSingleton<ITunerHost, M3UTunerHost>();
  36. services.AddSingleton<IListingsProvider, SchedulesDirect>();
  37. services.AddSingleton<IListingsProvider, XmlTvListingsProvider>();
  38. }
  39. }