diff options
Diffstat (limited to 'MediaBrowser.Common/Kernel/BaseKernel.cs')
| -rw-r--r-- | MediaBrowser.Common/Kernel/BaseKernel.cs | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/MediaBrowser.Common/Kernel/BaseKernel.cs b/MediaBrowser.Common/Kernel/BaseKernel.cs index 291c67156..09bb67218 100644 --- a/MediaBrowser.Common/Kernel/BaseKernel.cs +++ b/MediaBrowser.Common/Kernel/BaseKernel.cs @@ -11,13 +11,14 @@ using MediaBrowser.Common.Json; using MediaBrowser.Common.Logging;
using MediaBrowser.Common.Net;
using MediaBrowser.Common.Plugins;
+using MediaBrowser.Common.Progress;
namespace MediaBrowser.Common.Kernel
{
/// <summary>
/// Represents a shared base kernel for both the UI and server apps
/// </summary>
- public abstract class BaseKernel<TConfigurationType>
+ public abstract class BaseKernel<TConfigurationType> : IDisposable
where TConfigurationType : BaseApplicationConfiguration, new()
{
/// <summary>
@@ -76,12 +77,12 @@ namespace MediaBrowser.Common.Kernel Logger.LoggerInstance = new FileLogger(Path.Combine(ProgramDataPath, "Logs"));
}
- public virtual void Init()
+ public virtual void Init(IProgress<TaskProgress> progress)
{
ReloadConfiguration();
ReloadHttpServer();
-
+
ReloadComposableParts();
}
@@ -207,12 +208,17 @@ namespace MediaBrowser.Common.Kernel /// </summary>
private void ReloadHttpServer()
{
+ DisposeHttpServer();
+
+ HttpServer = new HttpServer("http://+:" + Configuration.HttpServerPortNumber + "/mediabrowser/");
+ }
+
+ private void DisposeHttpServer()
+ {
if (HttpServer != null)
{
HttpServer.Dispose();
}
-
- HttpServer = new HttpServer("http://+:" + Configuration.HttpServerPortNumber + "/mediabrowser/");
}
/// <summary>
@@ -234,5 +240,10 @@ namespace MediaBrowser.Common.Kernel return null;
}
+
+ public void Dispose()
+ {
+ DisposeHttpServer();
+ }
}
}
|
