All checks were successful
continuous-integration/drone/push Build is passing
60 lines
2.2 KiB
C#
60 lines
2.2 KiB
C#
using MediaBrowser.Controller.Configuration;
|
||
using MediaBrowser.Controller.Library;
|
||
using MediaBrowser.Controller.Providers;
|
||
using MediaBrowser.Model.IO;
|
||
using Microsoft.Extensions.Hosting;
|
||
using Microsoft.Extensions.Logging;
|
||
|
||
namespace Jellyfin.Plugin.Cinema;
|
||
|
||
/// <summary>
|
||
/// <see cref="IHostedService"/> responsible for Live TV recordings.
|
||
/// </summary>
|
||
public sealed class CinemaHost : IHostedService
|
||
{
|
||
#pragma warning disable CS8618
|
||
// This instance is specially registered and gets created before all classes
|
||
// except CinemaServiceRegistrator and CinemaPlugin.
|
||
private static ILibraryManager _libraryManager;
|
||
private static IServerConfigurationManager _config;
|
||
private static IFileSystem _fileSystem;
|
||
#pragma warning restore CS8618
|
||
private readonly ILogger<CinemaHost> _logger;
|
||
|
||
/// <summary>
|
||
/// Initializes a the Stream Cinema plugin.
|
||
/// </summary>
|
||
public CinemaHost(ILibraryManager libraryManager, IServerConfigurationManager config, IFileSystem fileSystem, ILogger<CinemaHost> logger)
|
||
{
|
||
_libraryManager = libraryManager;
|
||
_config = config;
|
||
_fileSystem = fileSystem;
|
||
this._logger = logger;
|
||
}
|
||
|
||
public static ILibraryManager LibraryManager => _libraryManager;
|
||
|
||
public static string InternalMetadataPath => _config.ApplicationPaths.InternalMetadataPath;
|
||
|
||
public static IFileSystem FileSystem => _fileSystem;
|
||
|
||
/// <inheritdoc />
|
||
public Task StartAsync(CancellationToken cancellationToken)
|
||
{
|
||
// Make sure the Stream Cinema root folders are created
|
||
CinemaFilterFolder.CreateRootFilterFolder<CinemaMoviesFolder>("Movies");
|
||
|
||
/*
|
||
pluginItems.Add(CreateMenuItem("movies", Resources.Movies, GetResourceUrl("movies.png")));
|
||
pluginItems.Add(CreateMenuItem("shows", Resources.Shows, GetResourceUrl("tvshows.png")));
|
||
pluginItems.Add(CreateMenuItem("tv", Resources.TvProgram, GetResourceUrl("tv-program.png")));
|
||
pluginItems.Add(CreateMenuItem("anime", Resources.Anime, GetResourceUrl("anime.png")));
|
||
pluginItems.Add(CreateMenuItem("concerts", Resources.Concerts, GetResourceUrl("music.png")));*/
|
||
|
||
return Task.CompletedTask;
|
||
}
|
||
|
||
/// <inheritdoc />
|
||
public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask;
|
||
}
|