using Jellyfin.Plugin.SRFPlay.Channels; using Jellyfin.Plugin.SRFPlay.Providers; using Jellyfin.Plugin.SRFPlay.ScheduledTasks; using Jellyfin.Plugin.SRFPlay.Services; using MediaBrowser.Controller; using MediaBrowser.Controller.Channels; using MediaBrowser.Controller.Plugins; using MediaBrowser.Model.Tasks; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; namespace Jellyfin.Plugin.SRFPlay; /// /// Service registrator for dependency injection. /// public class ServiceRegistrator : IPluginServiceRegistrator { /// public void RegisterServices(IServiceCollection serviceCollection, IServerApplicationHost applicationHost) { // Register services as singletons serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); // Register metadata providers serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); // Register media source provider serviceCollection.AddSingleton(); // Register scheduled tasks serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); // Register channel - must register as IChannel interface for Jellyfin to discover it serviceCollection.AddSingleton(); } }