diff options
Diffstat (limited to 'Emby.Server.Implementations/ApplicationHost.cs')
| -rw-r--r-- | Emby.Server.Implementations/ApplicationHost.cs | 36 |
1 files changed, 22 insertions, 14 deletions
diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs index fa6e9ff97..565d0f0c8 100644 --- a/Emby.Server.Implementations/ApplicationHost.cs +++ b/Emby.Server.Implementations/ApplicationHost.cs @@ -36,13 +36,14 @@ using Emby.Server.Implementations.SyncPlay; using Emby.Server.Implementations.TV; using Emby.Server.Implementations.Updates; using Jellyfin.Api.Helpers; -using Jellyfin.Database.Implementations; using Jellyfin.Drawing; using Jellyfin.MediaEncoding.Hls.Playlist; using Jellyfin.Networking.Manager; using Jellyfin.Networking.Udp; +using Jellyfin.Server.Implementations.FullSystemBackup; using Jellyfin.Server.Implementations.Item; using Jellyfin.Server.Implementations.MediaSegments; +using Jellyfin.Server.Implementations.SystemBackupService; using MediaBrowser.Common; using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Events; @@ -58,11 +59,13 @@ using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Drawing; using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.IO; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.LiveTv; using MediaBrowser.Controller.Lyrics; using MediaBrowser.Controller.MediaEncoding; +using MediaBrowser.Controller.MediaSegments; using MediaBrowser.Controller.Net; using MediaBrowser.Controller.Persistence; using MediaBrowser.Controller.Playlists; @@ -93,7 +96,6 @@ using MediaBrowser.Providers.Subtitles; using MediaBrowser.XbmcMetadata.Providers; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; -using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; @@ -268,6 +270,8 @@ namespace Emby.Server.Implementations ? Environment.MachineName : ConfigurationManager.Configuration.ServerName; + public string RestoreBackupPath { get; set; } + public string ExpandVirtualPath(string path) { if (path is null) @@ -472,6 +476,7 @@ namespace Emby.Server.Implementations serviceCollection.AddSingleton<IApplicationHost>(this); serviceCollection.AddSingleton<IPluginManager>(_pluginManager); serviceCollection.AddSingleton<IApplicationPaths>(ApplicationPaths); + serviceCollection.AddSingleton<IBackupService, BackupService>(); serviceCollection.AddSingleton<IFileSystem, ManagedFileSystem>(); serviceCollection.AddSingleton<IShortcutHandler, MbLinkShortcutHandler>(); @@ -512,6 +517,7 @@ namespace Emby.Server.Implementations serviceCollection.AddSingleton<IMediaEncoder, MediaBrowser.MediaEncoding.Encoder.MediaEncoder>(); serviceCollection.AddSingleton<EncodingHelper>(); serviceCollection.AddSingleton<IPathManager, PathManager>(); + serviceCollection.AddSingleton<IExternalDataManager, ExternalDataManager>(); // TODO: Refactor to eliminate the circular dependencies here so that Lazy<T> isn't required serviceCollection.AddTransient(provider => new Lazy<ILibraryMonitor>(provider.GetRequiredService<ILibraryMonitor>)); @@ -560,6 +566,7 @@ namespace Emby.Server.Implementations serviceCollection.AddSingleton<ISubtitleParser, SubtitleEditParser>(); serviceCollection.AddSingleton<ISubtitleEncoder, SubtitleEncoder>(); + serviceCollection.AddSingleton<IKeyframeManager, KeyframeManager>(); serviceCollection.AddSingleton<IAttachmentExtractor, MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor>(); @@ -627,24 +634,25 @@ namespace Emby.Server.Implementations private void SetStaticProperties() { // For now there's no real way to inject these properly - BaseItem.Logger = Resolve<ILogger<BaseItem>>(); + BaseItem.ChapterManager = Resolve<IChapterManager>(); + BaseItem.ChannelManager = Resolve<IChannelManager>(); BaseItem.ConfigurationManager = ConfigurationManager; + BaseItem.FileSystem = Resolve<IFileSystem>(); + BaseItem.ItemRepository = Resolve<IItemRepository>(); BaseItem.LibraryManager = Resolve<ILibraryManager>(); - BaseItem.ProviderManager = Resolve<IProviderManager>(); BaseItem.LocalizationManager = Resolve<ILocalizationManager>(); - BaseItem.ItemRepository = Resolve<IItemRepository>(); - BaseItem.ChapterManager = Resolve<IChapterManager>(); - BaseItem.FileSystem = Resolve<IFileSystem>(); - BaseItem.UserDataManager = Resolve<IUserDataManager>(); - BaseItem.ChannelManager = Resolve<IChannelManager>(); - Video.RecordingsManager = Resolve<IRecordingsManager>(); - Folder.UserViewManager = Resolve<IUserViewManager>(); - UserView.TVSeriesManager = Resolve<ITVSeriesManager>(); - UserView.CollectionManager = Resolve<ICollectionManager>(); - BaseItem.MediaSourceManager = Resolve<IMediaSourceManager>(); + BaseItem.Logger = Resolve<ILogger<BaseItem>>(); BaseItem.MediaSegmentManager = Resolve<IMediaSegmentManager>(); + BaseItem.MediaSourceManager = Resolve<IMediaSourceManager>(); + BaseItem.ProviderManager = Resolve<IProviderManager>(); + BaseItem.UserDataManager = Resolve<IUserDataManager>(); CollectionFolder.XmlSerializer = _xmlSerializer; CollectionFolder.ApplicationHost = this; + Folder.UserViewManager = Resolve<IUserViewManager>(); + Folder.CollectionManager = Resolve<ICollectionManager>(); + Episode.MediaEncoder = Resolve<IMediaEncoder>(); + UserView.TVSeriesManager = Resolve<ITVSeriesManager>(); + Video.RecordingsManager = Resolve<IRecordingsManager>(); } /// <summary> |
