aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api')
-rw-r--r--MediaBrowser.Api/Images/ImageService.cs2
-rw-r--r--MediaBrowser.Api/Library/LibraryService.cs3
-rw-r--r--MediaBrowser.Api/PackageService.cs27
-rw-r--r--MediaBrowser.Api/Playback/BaseStreamingService.cs42
-rw-r--r--MediaBrowser.Api/Playback/Hls/AudioHlsService.cs12
-rw-r--r--MediaBrowser.Api/Playback/Hls/BaseHlsService.cs8
-rw-r--r--MediaBrowser.Api/Playback/Hls/VideoHlsService.cs12
-rw-r--r--MediaBrowser.Api/Playback/Progressive/AudioService.cs11
-rw-r--r--MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs11
-rw-r--r--MediaBrowser.Api/Playback/Progressive/VideoService.cs13
-rw-r--r--MediaBrowser.Api/Plugin.cs8
-rw-r--r--MediaBrowser.Api/PluginService.cs29
-rw-r--r--MediaBrowser.Api/SystemService.cs30
-rw-r--r--MediaBrowser.Api/UserService.cs4
-rw-r--r--MediaBrowser.Api/WeatherService.cs6
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);
}