diff options
Diffstat (limited to 'MediaBrowser.Api')
| -rw-r--r-- | MediaBrowser.Api/Images/ImageService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/Library/LibraryService.cs | 3 | ||||
| -rw-r--r-- | MediaBrowser.Api/PackageService.cs | 27 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/BaseStreamingService.cs | 42 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/Hls/AudioHlsService.cs | 12 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/Hls/BaseHlsService.cs | 8 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/Hls/VideoHlsService.cs | 12 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/Progressive/AudioService.cs | 11 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs | 11 | ||||
| -rw-r--r-- | MediaBrowser.Api/Playback/Progressive/VideoService.cs | 13 | ||||
| -rw-r--r-- | MediaBrowser.Api/Plugin.cs | 8 | ||||
| -rw-r--r-- | MediaBrowser.Api/PluginService.cs | 29 | ||||
| -rw-r--r-- | MediaBrowser.Api/SystemService.cs | 30 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserService.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Api/WeatherService.cs | 6 |
15 files changed, 93 insertions, 125 deletions
diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs index 4f06ae424..1c0e6c68d 100644 --- a/MediaBrowser.Api/Images/ImageService.cs +++ b/MediaBrowser.Api/Images/ImageService.cs @@ -268,7 +268,7 @@ namespace MediaBrowser.Api.Images /// <exception cref="ResourceNotFoundException"></exception> private object GetImage(ImageRequest request, BaseItem item) { - var kernel = (Kernel)Kernel; + var kernel = Kernel.Instance; var index = request.Index ?? 0; diff --git a/MediaBrowser.Api/Library/LibraryService.cs b/MediaBrowser.Api/Library/LibraryService.cs index 11d877711..b49cc568f 100644 --- a/MediaBrowser.Api/Library/LibraryService.cs +++ b/MediaBrowser.Api/Library/LibraryService.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Common.Implementations.HttpServer; +using MediaBrowser.Common; +using MediaBrowser.Common.Implementations.HttpServer; using MediaBrowser.Common.Kernel; using MediaBrowser.Controller; using MediaBrowser.Controller.Entities; diff --git a/MediaBrowser.Api/PackageService.cs b/MediaBrowser.Api/PackageService.cs index a45b11e26..75dffc67b 100644 --- a/MediaBrowser.Api/PackageService.cs +++ b/MediaBrowser.Api/PackageService.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Common.Extensions; +using MediaBrowser.Common; +using MediaBrowser.Common.Extensions; using MediaBrowser.Common.Implementations.HttpServer; using MediaBrowser.Common.Kernel; using MediaBrowser.Controller; @@ -108,13 +109,11 @@ namespace MediaBrowser.Api /// <exception cref="System.ArgumentException">Unsupported PackageType</exception> public object Get(GetPackageVersionUpdates request) { - var kernel = (Kernel)Kernel; - var result = new List<PackageVersionInfo>(); if (request.PackageType == PackageType.UserInstalled || request.PackageType == PackageType.All) { - result.AddRange(kernel.InstallationManager.GetAvailablePluginUpdates(false, CancellationToken.None).Result.ToList()); + result.AddRange(Kernel.Instance.InstallationManager.GetAvailablePluginUpdates(false, CancellationToken.None).Result.ToList()); } else if (request.PackageType == PackageType.System || request.PackageType == PackageType.All) @@ -137,9 +136,7 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Get(GetPackage request) { - var kernel = (Kernel)Kernel; - - var packages = kernel.InstallationManager.GetAvailablePackages(CancellationToken.None, applicationVersion: ApplicationHost.ApplicationVersion).Result; + var packages = Kernel.Instance.InstallationManager.GetAvailablePackages(CancellationToken.None, applicationVersion: ApplicationHost.ApplicationVersion).Result; var result = packages.FirstOrDefault(p => p.name.Equals(request.Name, StringComparison.OrdinalIgnoreCase)); @@ -153,9 +150,7 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Get(GetPackages request) { - var kernel = (Kernel)Kernel; - - var packages = kernel.InstallationManager.GetAvailablePackages(CancellationToken.None, request.PackageType, ApplicationHost.ApplicationVersion).Result; + var packages = Kernel.Instance.InstallationManager.GetAvailablePackages(CancellationToken.None, request.PackageType, ApplicationHost.ApplicationVersion).Result; return ToOptimizedResult(packages.ToList()); } @@ -167,18 +162,16 @@ namespace MediaBrowser.Api /// <exception cref="ResourceNotFoundException"></exception> public void Post(InstallPackage request) { - var kernel = (Kernel)Kernel; - var package = string.IsNullOrEmpty(request.Version) ? - kernel.InstallationManager.GetLatestCompatibleVersion(request.Name, request.UpdateClass).Result : - kernel.InstallationManager.GetPackage(request.Name, request.UpdateClass, Version.Parse(request.Version)).Result; + Kernel.Instance.InstallationManager.GetLatestCompatibleVersion(request.Name, request.UpdateClass).Result : + Kernel.Instance.InstallationManager.GetPackage(request.Name, request.UpdateClass, Version.Parse(request.Version)).Result; if (package == null) { throw new ResourceNotFoundException(string.Format("Package not found: {0}", request.Name)); } - Task.Run(() => kernel.InstallationManager.InstallPackage(package, new Progress<double> { }, CancellationToken.None)); + Task.Run(() => Kernel.Instance.InstallationManager.InstallPackage(package, new Progress<double> { }, CancellationToken.None)); } /// <summary> @@ -187,9 +180,7 @@ namespace MediaBrowser.Api /// <param name="request">The request.</param> public void Delete(CancelPackageInstallation request) { - var kernel = (Kernel)Kernel; - - var info = kernel.InstallationManager.CurrentInstallations.FirstOrDefault(i => i.Item1.Id == request.Id); + var info = Kernel.Instance.InstallationManager.CurrentInstallations.FirstOrDefault(i => i.Item1.Id == request.Id); if (info != null) { diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index 980856410..5107d13c2 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -40,15 +40,12 @@ namespace MediaBrowser.Api.Playback /// </summary> /// <value>The library manager.</value> protected ILibraryManager LibraryManager { get; set; } - + /// <summary> - /// Gets the server kernel. + /// Gets or sets the iso manager. /// </summary> - /// <value>The server kernel.</value> - protected Kernel ServerKernel - { - get { return Kernel as Kernel; } - } + /// <value>The iso manager.</value> + protected IIsoManager IsoManager { get; set; } /// <summary> /// Initializes a new instance of the <see cref="BaseStreamingService" /> class. @@ -56,11 +53,13 @@ namespace MediaBrowser.Api.Playback /// <param name="appPaths">The app paths.</param> /// <param name="userManager">The user manager.</param> /// <param name="libraryManager">The library manager.</param> - protected BaseStreamingService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager) + /// <param name="isoManager">The iso manager.</param> + protected BaseStreamingService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager) { ApplicationPaths = appPaths; UserManager = userManager; LibraryManager = libraryManager; + IsoManager = isoManager; } /// <summary> @@ -307,11 +306,11 @@ namespace MediaBrowser.Api.Playback /// <returns>System.String.</returns> private string GetExtractedAssPath(Video video, MediaStream subtitleStream) { - var path = ServerKernel.FFMpegManager.GetSubtitleCachePath(video, subtitleStream.Index, ".ass"); + var path = Kernel.Instance.FFMpegManager.GetSubtitleCachePath(video, subtitleStream.Index, ".ass"); if (!File.Exists(path)) { - var success = ServerKernel.FFMpegManager.ExtractTextSubtitle(video, subtitleStream.Index, path, CancellationToken.None).Result; + var success = Kernel.Instance.FFMpegManager.ExtractTextSubtitle(video, subtitleStream.Index, path, CancellationToken.None).Result; if (!success) { @@ -330,11 +329,11 @@ namespace MediaBrowser.Api.Playback /// <returns>System.String.</returns> private string GetConvertedAssPath(Video video, MediaStream subtitleStream) { - var path = ServerKernel.FFMpegManager.GetSubtitleCachePath(video, subtitleStream.Index, ".ass"); + var path = Kernel.Instance.FFMpegManager.GetSubtitleCachePath(video, subtitleStream.Index, ".ass"); if (!File.Exists(path)) { - var success = ServerKernel.FFMpegManager.ConvertTextSubtitle(subtitleStream, path, CancellationToken.None).Result; + var success = Kernel.Instance.FFMpegManager.ConvertTextSubtitle(subtitleStream, path, CancellationToken.None).Result; if (!success) { @@ -476,8 +475,8 @@ namespace MediaBrowser.Api.Playback protected string GetInputArgument(BaseItem item, IIsoMount isoMount) { return isoMount == null ? - ServerKernel.FFMpegManager.GetInputArgument(item) : - ServerKernel.FFMpegManager.GetInputArgument(item as Video, isoMount); + Kernel.Instance.FFMpegManager.GetInputArgument(item) : + Kernel.Instance.FFMpegManager.GetInputArgument(item as Video, isoMount); } /// <summary> @@ -490,11 +489,10 @@ namespace MediaBrowser.Api.Playback { var video = state.Item as Video; - //if (video != null && video.VideoType == VideoType.Iso && - // video.IsoType.HasValue && Kernel.IsoManager.CanMount(video.Path)) - //{ - // IsoMount = await Kernel.IsoManager.Mount(video.Path, CancellationToken.None).ConfigureAwait(false); - //} + if (video != null && video.VideoType == VideoType.Iso && video.IsoType.HasValue && IsoManager.CanMount(video.Path)) + { + state.IsoMount = await IsoManager.Mount(video.Path, CancellationToken.None).ConfigureAwait(false); + } var process = new Process { @@ -507,8 +505,8 @@ namespace MediaBrowser.Api.Playback RedirectStandardOutput = true, RedirectStandardError = true, - FileName = ServerKernel.FFMpegManager.FFMpegPath, - WorkingDirectory = Path.GetDirectoryName(ServerKernel.FFMpegManager.FFMpegPath), + FileName = Kernel.Instance.FFMpegManager.FFMpegPath, + WorkingDirectory = Path.GetDirectoryName(Kernel.Instance.FFMpegManager.FFMpegPath), Arguments = GetCommandLineArguments(outputPath, state), WindowStyle = ProcessWindowStyle.Hidden, @@ -522,7 +520,7 @@ namespace MediaBrowser.Api.Playback //Logger.Info(process.StartInfo.FileName + " " + process.StartInfo.Arguments); - var logFilePath = Path.Combine(Kernel.ApplicationPaths.LogDirectoryPath, "ffmpeg-" + Guid.NewGuid() + ".txt"); + var logFilePath = Path.Combine(ApplicationPaths.LogDirectoryPath, "ffmpeg-" + Guid.NewGuid() + ".txt"); // FFMpeg writes debug/error info to stderr. This is useful when debugging so let's put it in the log directory. state.LogFileStream = new FileStream(logFilePath, FileMode.Create, FileAccess.Write, FileShare.Read, StreamDefaults.DefaultFileStreamBufferSize, FileOptions.Asynchronous); diff --git a/MediaBrowser.Api/Playback/Hls/AudioHlsService.cs b/MediaBrowser.Api/Playback/Hls/AudioHlsService.cs index 0735f3b62..a98f27499 100644 --- a/MediaBrowser.Api/Playback/Hls/AudioHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/AudioHlsService.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Controller; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller; using MediaBrowser.Controller.Library; using MediaBrowser.Model.Dto; using System; @@ -10,13 +11,8 @@ namespace MediaBrowser.Api.Playback.Hls /// </summary> public class AudioHlsService : BaseHlsService { - /// <summary> - /// Initializes a new instance of the <see cref="AudioHlsService" /> class. - /// </summary> - /// <param name="appPaths">The app paths.</param> - /// <param name="userManager">The user manager.</param> - public AudioHlsService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager) - : base(appPaths, userManager, libraryManager) + public AudioHlsService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager) + : base(appPaths, userManager, libraryManager, isoManager) { } diff --git a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs index d616565ca..f73109dd0 100644 --- a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs @@ -17,8 +17,8 @@ namespace MediaBrowser.Api.Playback.Hls /// </summary> public const string SegmentFilePrefix = "segment-"; - protected BaseHlsService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager) - : base(appPaths, userManager, libraryManager) + protected BaseHlsService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager) + : base(appPaths, userManager, libraryManager, isoManager) { } @@ -174,9 +174,7 @@ namespace MediaBrowser.Api.Playback.Hls segmentOutputPath = Path.Combine(segmentOutputPath, segmentOutputName + "%03d." + GetSegmentFileExtension(state).TrimStart('.')); - var kernel = (Kernel)Kernel; - - var probeSize = kernel.FFMpegManager.GetProbeSizeArgument(state.Item); + var probeSize = Kernel.Instance.FFMpegManager.GetProbeSizeArgument(state.Item); return string.Format("{0} {1} -i {2}{3} -threads 0 {4} {5} {6} -f ssegment -segment_list_flags +live -segment_time 9 -segment_list \"{7}\" \"{8}\"", probeSize, diff --git a/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs b/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs index 41d818ce7..7fcd4357b 100644 --- a/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Controller; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller; using MediaBrowser.Controller.Library; using System; @@ -6,13 +7,8 @@ namespace MediaBrowser.Api.Playback.Hls { public class VideoHlsService : BaseHlsService { - /// <summary> - /// Initializes a new instance of the <see cref="VideoHlsService" /> class. - /// </summary> - /// <param name="appPaths">The app paths.</param> - /// <param name="userManager">The user manager.</param> - public VideoHlsService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager) - : base(appPaths, userManager, libraryManager) + public VideoHlsService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager) + : base(appPaths, userManager, libraryManager, isoManager) { } diff --git a/MediaBrowser.Api/Playback/Progressive/AudioService.cs b/MediaBrowser.Api/Playback/Progressive/AudioService.cs index e81f0ac0d..86d993152 100644 --- a/MediaBrowser.Api/Playback/Progressive/AudioService.cs +++ b/MediaBrowser.Api/Playback/Progressive/AudioService.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Controller; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller; using MediaBrowser.Controller.Library; using ServiceStack.ServiceHost; using System.Collections.Generic; @@ -24,12 +25,8 @@ namespace MediaBrowser.Api.Playback.Progressive /// </summary> public class AudioService : BaseProgressiveStreamingService { - /// <summary> - /// Initializes a new instance of the <see cref="BaseProgressiveStreamingService" /> class. - /// </summary> - /// <param name="appPaths">The app paths.</param> - public AudioService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager) - : base(appPaths, userManager, libraryManager) + public AudioService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager) + : base(appPaths, userManager, libraryManager, isoManager) { } diff --git a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs index bbfe65504..eba8decf2 100644 --- a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs +++ b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Common.Net; +using MediaBrowser.Common.IO; +using MediaBrowser.Common.Net; using MediaBrowser.Controller; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; @@ -14,12 +15,8 @@ namespace MediaBrowser.Api.Playback.Progressive /// </summary> public abstract class BaseProgressiveStreamingService : BaseStreamingService { - /// <summary> - /// Initializes a new instance of the <see cref="BaseProgressiveStreamingService" /> class. - /// </summary> - /// <param name="appPaths">The app paths.</param> - protected BaseProgressiveStreamingService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager) - : base(appPaths, userManager, libraryManager) + protected BaseProgressiveStreamingService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager) : + base(appPaths, userManager, libraryManager, isoManager) { } diff --git a/MediaBrowser.Api/Playback/Progressive/VideoService.cs b/MediaBrowser.Api/Playback/Progressive/VideoService.cs index 6261d32ee..22f3320ca 100644 --- a/MediaBrowser.Api/Playback/Progressive/VideoService.cs +++ b/MediaBrowser.Api/Playback/Progressive/VideoService.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Controller; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller; using MediaBrowser.Controller.Entities; using System; using MediaBrowser.Controller.Library; @@ -30,12 +31,8 @@ namespace MediaBrowser.Api.Playback.Progressive /// </summary> public class VideoService : BaseProgressiveStreamingService { - /// <summary> - /// Initializes a new instance of the <see cref="BaseProgressiveStreamingService" /> class. - /// </summary> - /// <param name="appPaths">The app paths.</param> - public VideoService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager) - : base(appPaths, userManager, libraryManager) + public VideoService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager) + : base(appPaths, userManager, libraryManager, isoManager) { } @@ -59,7 +56,7 @@ namespace MediaBrowser.Api.Playback.Progressive { var video = (Video)state.Item; - var probeSize = ServerKernel.FFMpegManager.GetProbeSizeArgument(video.VideoType, video.IsoType); + var probeSize = Kernel.Instance.FFMpegManager.GetProbeSizeArgument(video.VideoType, video.IsoType); // Get the output codec name var videoCodec = GetVideoCodec(state.Request); diff --git a/MediaBrowser.Api/Plugin.cs b/MediaBrowser.Api/Plugin.cs index b8c81bbe1..321267b04 100644 --- a/MediaBrowser.Api/Plugin.cs +++ b/MediaBrowser.Api/Plugin.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Common.Kernel; +using MediaBrowser.Common.Configuration; +using MediaBrowser.Common.Kernel; using MediaBrowser.Common.Plugins; using MediaBrowser.Model.Plugins; using MediaBrowser.Model.Serialization; @@ -13,9 +14,10 @@ namespace MediaBrowser.Api /// <summary> /// Initializes a new instance of the <see cref="Plugin" /> class. /// </summary> - /// <param name="kernel">The kernel.</param> + /// <param name="appPaths">The app paths.</param> /// <param name="xmlSerializer">The XML serializer.</param> - public Plugin(IKernel kernel, IXmlSerializer xmlSerializer) : base(kernel, xmlSerializer) + public Plugin(IApplicationPaths appPaths, IXmlSerializer xmlSerializer) + : base(appPaths, xmlSerializer) { Instance = this; } diff --git a/MediaBrowser.Api/PluginService.cs b/MediaBrowser.Api/PluginService.cs index 7e907c2dd..932a3e545 100644 --- a/MediaBrowser.Api/PluginService.cs +++ b/MediaBrowser.Api/PluginService.cs @@ -1,6 +1,7 @@ -using MediaBrowser.Common.Extensions; +using MediaBrowser.Common; +using MediaBrowser.Common.Extensions; using MediaBrowser.Common.Implementations.HttpServer; -using MediaBrowser.Common.Kernel; +using MediaBrowser.Common.Security; using MediaBrowser.Controller; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Plugins; @@ -129,13 +130,16 @@ namespace MediaBrowser.Api /// </summary> private readonly IApplicationHost _appHost; + private readonly ISecurityManager _securityManager; + /// <summary> /// Initializes a new instance of the <see cref="PluginService" /> class. /// </summary> /// <param name="jsonSerializer">The json serializer.</param> /// <param name="appHost">The app host.</param> + /// <param name="securityManager">The security manager.</param> /// <exception cref="System.ArgumentNullException">jsonSerializer</exception> - public PluginService(IJsonSerializer jsonSerializer, IApplicationHost appHost) + public PluginService(IJsonSerializer jsonSerializer, IApplicationHost appHost, ISecurityManager securityManager) : base() { if (jsonSerializer == null) @@ -144,6 +148,7 @@ namespace MediaBrowser.Api } _appHost = appHost; + _securityManager = securityManager; _jsonSerializer = jsonSerializer; } @@ -206,13 +211,11 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Get(GetPluginSecurityInfo request) { - var kernel = (Kernel)Kernel; - var result = new PluginSecurityInfo { - IsMBSupporter = kernel.SecurityManager.IsMBSupporter, - SupporterKey = kernel.SecurityManager.SupporterKey, - LegacyKey = kernel.SecurityManager.LegacyKey + IsMBSupporter = _securityManager.IsMBSupporter, + SupporterKey = _securityManager.SupporterKey, + LegacyKey = _securityManager.LegacyKey }; return ToOptimizedResult(result); @@ -224,12 +227,10 @@ namespace MediaBrowser.Api /// <param name="request">The request.</param> public void Post(UpdatePluginSecurityInfo request) { - var kernel = (Kernel)Kernel; - var info = _jsonSerializer.DeserializeFromStream<PluginSecurityInfo>(request.RequestStream); - kernel.SecurityManager.SupporterKey = info.SupporterKey; - kernel.SecurityManager.LegacyKey = info.LegacyKey; + _securityManager.SupporterKey = info.SupporterKey; + _securityManager.LegacyKey = info.LegacyKey; } /// <summary> @@ -256,11 +257,9 @@ namespace MediaBrowser.Api /// <param name="request">The request.</param> public void Delete(UninstallPlugin request) { - var kernel = (Kernel)Kernel; - var plugin = _appHost.Plugins.First(p => p.Id == request.Id); - kernel.InstallationManager.UninstallPlugin(plugin); + Kernel.Instance.InstallationManager.UninstallPlugin(plugin); } } } diff --git a/MediaBrowser.Api/SystemService.cs b/MediaBrowser.Api/SystemService.cs index 7edaed1c7..0d5d47e4b 100644 --- a/MediaBrowser.Api/SystemService.cs +++ b/MediaBrowser.Api/SystemService.cs @@ -1,7 +1,8 @@ -using MediaBrowser.Common.Extensions; +using MediaBrowser.Common; +using MediaBrowser.Common.Extensions; using MediaBrowser.Common.Implementations.HttpServer; -using MediaBrowser.Common.Kernel; using MediaBrowser.Controller; +using MediaBrowser.Controller.Configuration; using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Serialization; using MediaBrowser.Model.System; @@ -73,12 +74,18 @@ namespace MediaBrowser.Api private readonly IApplicationHost _appHost; /// <summary> + /// The _configuration manager + /// </summary> + private readonly IServerConfigurationManager _configurationManager; + + /// <summary> /// Initializes a new instance of the <see cref="SystemService" /> class. /// </summary> /// <param name="jsonSerializer">The json serializer.</param> /// <param name="appHost">The app host.</param> + /// <param name="configurationManager">The configuration manager.</param> /// <exception cref="System.ArgumentNullException">jsonSerializer</exception> - public SystemService(IJsonSerializer jsonSerializer, IApplicationHost appHost) + public SystemService(IJsonSerializer jsonSerializer, IApplicationHost appHost, IServerConfigurationManager configurationManager) : base() { if (jsonSerializer == null) @@ -91,6 +98,7 @@ namespace MediaBrowser.Api } _appHost = appHost; + _configurationManager = configurationManager; _jsonSerializer = jsonSerializer; } @@ -101,7 +109,7 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Get(GetSystemInfo request) { - var result = Kernel.GetSystemInfo(); + var result = Kernel.Instance.GetSystemInfo(); return ToOptimizedResult(result); } @@ -113,13 +121,11 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Get(GetConfiguration request) { - var kernel = (Kernel)Kernel; + var dateModified = File.GetLastWriteTimeUtc(_configurationManager.ApplicationPaths.SystemConfigurationFilePath); - var dateModified = File.GetLastWriteTimeUtc(Kernel.ApplicationPaths.SystemConfigurationFilePath); + var cacheKey = (_configurationManager.ApplicationPaths.SystemConfigurationFilePath + dateModified.Ticks).GetMD5(); - var cacheKey = (Kernel.ApplicationPaths.SystemConfigurationFilePath + dateModified.Ticks).GetMD5(); - - return ToOptimizedResultUsingCache(cacheKey, dateModified, null, () => kernel.Configuration); + return ToOptimizedResultUsingCache(cacheKey, dateModified, null, () => _configurationManager.Configuration); } /// <summary> @@ -131,7 +137,7 @@ namespace MediaBrowser.Api Task.Run(async () => { await Task.Delay(100); - Kernel.PerformPendingRestart(); + Kernel.Instance.PerformPendingRestart(); }); } @@ -156,9 +162,7 @@ namespace MediaBrowser.Api { var serverConfig = _jsonSerializer.DeserializeFromStream<ServerConfiguration>(request.RequestStream); - var kernel = (Kernel)Kernel; - - kernel.UpdateConfiguration(serverConfig); + _configurationManager.ReplaceConfiguration(serverConfig); } } } diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs index 730242063..d4442ff44 100644 --- a/MediaBrowser.Api/UserService.cs +++ b/MediaBrowser.Api/UserService.cs @@ -181,8 +181,6 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Get(GetUsers request) { - var kernel = (Kernel)Kernel; - var dtoBuilder = new DtoBuilder(Logger); var result = _userManager.Users.OrderBy(u => u.Name).Select(dtoBuilder.GetDtoUser).ToList(); @@ -312,8 +310,6 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Post(CreateUser request) { - var kernel = (Kernel)Kernel; - var dtoUser = _jsonSerializer.DeserializeFromStream<UserDto>(request.RequestStream); var newUser = _userManager.CreateUser(dtoUser.Name).Result; diff --git a/MediaBrowser.Api/WeatherService.cs b/MediaBrowser.Api/WeatherService.cs index 930daa270..7c85d849d 100644 --- a/MediaBrowser.Api/WeatherService.cs +++ b/MediaBrowser.Api/WeatherService.cs @@ -32,11 +32,7 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Get(GetWeather request) { - var kernel = (Kernel) Kernel; - - var location = string.IsNullOrWhiteSpace(request.Location) ? kernel.Configuration.WeatherLocation : request.Location; - - var result = kernel.WeatherProviders.First().GetWeatherInfoAsync(location, CancellationToken.None).Result; + var result = Kernel.Instance.WeatherProviders.First().GetWeatherInfoAsync(request.Location, CancellationToken.None).Result; return ToOptimizedResult(result); } |
