mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-11-15 09:59:06 -07:00
Use DI for ILiveTvService
This commit is contained in:
parent
775b7eadef
commit
34269dee58
@ -695,8 +695,6 @@ namespace Emby.Server.Implementations
|
||||
GetExports<IMetadataSaver>(),
|
||||
GetExports<IExternalId>());
|
||||
|
||||
Resolve<ILiveTvManager>().AddParts(GetExports<ILiveTvService>());
|
||||
|
||||
Resolve<IMediaSourceManager>().AddParts(GetExports<IMediaSourceProvider>());
|
||||
}
|
||||
|
||||
|
@ -67,12 +67,6 @@ namespace MediaBrowser.Controller.LiveTv
|
||||
/// <returns>Task.</returns>
|
||||
Task CancelSeriesTimer(string id);
|
||||
|
||||
/// <summary>
|
||||
/// Adds the parts.
|
||||
/// </summary>
|
||||
/// <param name="services">The services.</param>
|
||||
void AddParts(IEnumerable<ILiveTvService> services);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the timer.
|
||||
/// </summary>
|
||||
|
@ -28,6 +28,7 @@ public static class LiveTvServiceCollectionExtensions
|
||||
services.AddSingleton<ITunerHostManager, TunerHostManager>();
|
||||
services.AddSingleton<IGuideManager, GuideManager>();
|
||||
|
||||
services.AddSingleton<ILiveTvService, EmbyTV.EmbyTV>();
|
||||
services.AddSingleton<ITunerHost, HdHomerunHost>();
|
||||
services.AddSingleton<ITunerHost, M3UTunerHost>();
|
||||
services.AddSingleton<IListingsProvider, SchedulesDirect>();
|
||||
|
@ -47,10 +47,9 @@ namespace Jellyfin.LiveTv
|
||||
private readonly ILocalizationManager _localization;
|
||||
private readonly IChannelManager _channelManager;
|
||||
private readonly LiveTvDtoService _tvDtoService;
|
||||
private readonly ILiveTvService[] _services;
|
||||
private readonly IListingsProvider[] _listingProviders;
|
||||
|
||||
private ILiveTvService[] _services = Array.Empty<ILiveTvService>();
|
||||
|
||||
public LiveTvManager(
|
||||
IServerConfigurationManager config,
|
||||
ILogger<LiveTvManager> logger,
|
||||
@ -62,6 +61,7 @@ namespace Jellyfin.LiveTv
|
||||
ILocalizationManager localization,
|
||||
IChannelManager channelManager,
|
||||
LiveTvDtoService liveTvDtoService,
|
||||
IEnumerable<ILiveTvService> services,
|
||||
IEnumerable<IListingsProvider> listingProviders)
|
||||
{
|
||||
_config = config;
|
||||
@ -74,7 +74,12 @@ namespace Jellyfin.LiveTv
|
||||
_userDataManager = userDataManager;
|
||||
_channelManager = channelManager;
|
||||
_tvDtoService = liveTvDtoService;
|
||||
_services = services.ToArray();
|
||||
_listingProviders = listingProviders.ToArray();
|
||||
|
||||
var defaultService = _services.OfType<EmbyTV.EmbyTV>().First();
|
||||
defaultService.TimerCreated += OnEmbyTvTimerCreated;
|
||||
defaultService.TimerCancelled += OnEmbyTvTimerCancelled;
|
||||
}
|
||||
|
||||
public event EventHandler<GenericEventArgs<TimerEventInfo>> SeriesTimerCancelled;
|
||||
@ -98,21 +103,6 @@ namespace Jellyfin.LiveTv
|
||||
return EmbyTV.EmbyTV.Current.GetActiveRecordingPath(id);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public void AddParts(IEnumerable<ILiveTvService> services)
|
||||
{
|
||||
_services = services.ToArray();
|
||||
|
||||
foreach (var service in _services)
|
||||
{
|
||||
if (service is EmbyTV.EmbyTV embyTv)
|
||||
{
|
||||
embyTv.TimerCreated += OnEmbyTvTimerCreated;
|
||||
embyTv.TimerCancelled += OnEmbyTvTimerCancelled;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OnEmbyTvTimerCancelled(object sender, GenericEventArgs<string> e)
|
||||
{
|
||||
var timerId = e.Argument;
|
||||
|
Loading…
Reference in New Issue
Block a user