Use DI for IListingsProvider

pull/10951/head
Patrick Barron 5 months ago
parent 81cf4b6c50
commit efd024bafe

@ -695,7 +695,7 @@ namespace Emby.Server.Implementations
GetExports<IMetadataSaver>(), GetExports<IMetadataSaver>(),
GetExports<IExternalId>()); GetExports<IExternalId>());
Resolve<ILiveTvManager>().AddParts(GetExports<ILiveTvService>(), GetExports<IListingsProvider>()); Resolve<ILiveTvManager>().AddParts(GetExports<ILiveTvService>());
Resolve<IMediaSourceManager>().AddParts(GetExports<IMediaSourceProvider>()); Resolve<IMediaSourceManager>().AddParts(GetExports<IMediaSourceProvider>());
} }

@ -71,8 +71,7 @@ namespace MediaBrowser.Controller.LiveTv
/// Adds the parts. /// Adds the parts.
/// </summary> /// </summary>
/// <param name="services">The services.</param> /// <param name="services">The services.</param>
/// <param name="listingProviders">The listing providers.</param> void AddParts(IEnumerable<ILiveTvService> services);
void AddParts(IEnumerable<ILiveTvService> services, IEnumerable<IListingsProvider> listingProviders);
/// <summary> /// <summary>
/// Gets the timer. /// Gets the timer.

@ -1,5 +1,6 @@
using Jellyfin.LiveTv.Channels; using Jellyfin.LiveTv.Channels;
using Jellyfin.LiveTv.Guide; using Jellyfin.LiveTv.Guide;
using Jellyfin.LiveTv.Listings;
using Jellyfin.LiveTv.TunerHosts; using Jellyfin.LiveTv.TunerHosts;
using Jellyfin.LiveTv.TunerHosts.HdHomerun; using Jellyfin.LiveTv.TunerHosts.HdHomerun;
using MediaBrowser.Controller.Channels; using MediaBrowser.Controller.Channels;
@ -29,5 +30,7 @@ public static class LiveTvServiceCollectionExtensions
services.AddSingleton<ITunerHost, HdHomerunHost>(); services.AddSingleton<ITunerHost, HdHomerunHost>();
services.AddSingleton<ITunerHost, M3UTunerHost>(); services.AddSingleton<ITunerHost, M3UTunerHost>();
services.AddSingleton<IListingsProvider, SchedulesDirect>();
services.AddSingleton<IListingsProvider, XmlTvListingsProvider>();
} }
} }

@ -47,9 +47,9 @@ namespace Jellyfin.LiveTv
private readonly ILocalizationManager _localization; private readonly ILocalizationManager _localization;
private readonly IChannelManager _channelManager; private readonly IChannelManager _channelManager;
private readonly LiveTvDtoService _tvDtoService; private readonly LiveTvDtoService _tvDtoService;
private readonly IListingsProvider[] _listingProviders;
private ILiveTvService[] _services = Array.Empty<ILiveTvService>(); private ILiveTvService[] _services = Array.Empty<ILiveTvService>();
private IListingsProvider[] _listingProviders = Array.Empty<IListingsProvider>();
public LiveTvManager( public LiveTvManager(
IServerConfigurationManager config, IServerConfigurationManager config,
@ -61,7 +61,8 @@ namespace Jellyfin.LiveTv
ITaskManager taskManager, ITaskManager taskManager,
ILocalizationManager localization, ILocalizationManager localization,
IChannelManager channelManager, IChannelManager channelManager,
LiveTvDtoService liveTvDtoService) LiveTvDtoService liveTvDtoService,
IEnumerable<IListingsProvider> listingProviders)
{ {
_config = config; _config = config;
_logger = logger; _logger = logger;
@ -73,6 +74,7 @@ namespace Jellyfin.LiveTv
_userDataManager = userDataManager; _userDataManager = userDataManager;
_channelManager = channelManager; _channelManager = channelManager;
_tvDtoService = liveTvDtoService; _tvDtoService = liveTvDtoService;
_listingProviders = listingProviders.ToArray();
} }
public event EventHandler<GenericEventArgs<TimerEventInfo>> SeriesTimerCancelled; public event EventHandler<GenericEventArgs<TimerEventInfo>> SeriesTimerCancelled;
@ -97,12 +99,10 @@ namespace Jellyfin.LiveTv
} }
/// <inheritdoc /> /// <inheritdoc />
public void AddParts(IEnumerable<ILiveTvService> services, IEnumerable<IListingsProvider> listingProviders) public void AddParts(IEnumerable<ILiveTvService> services)
{ {
_services = services.ToArray(); _services = services.ToArray();
_listingProviders = listingProviders.ToArray();
foreach (var service in _services) foreach (var service in _services)
{ {
if (service is EmbyTV.EmbyTV embyTv) if (service is EmbyTV.EmbyTV embyTv)

Loading…
Cancel
Save