aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukePulverenti <luke.pulverenti@gmail.com>2013-03-03 02:27:40 -0500
committerLukePulverenti <luke.pulverenti@gmail.com>2013-03-03 02:27:40 -0500
commit7b0b5a35382d0b43f298d7ef015d6fd3031a8c72 (patch)
tree9ffb770fe05b7d51995be8fb1dbdae4eaec01e26
parent7665b1563d6459aabe9ceea7cecc192d487c1686 (diff)
created an init method on base app host
-rw-r--r--MediaBrowser.Common.Implementations/BaseApplicationHost.cs31
-rw-r--r--MediaBrowser.Common/Kernel/IApplicationHost.cs6
-rw-r--r--MediaBrowser.ServerApplication/App.xaml.cs1
-rw-r--r--MediaBrowser.ServerApplication/ApplicationHost.cs10
-rw-r--r--Nuget/MediaBrowser.Common.Internal.nuspec4
-rw-r--r--Nuget/MediaBrowser.Common.nuspec2
-rw-r--r--Nuget/MediaBrowser.Server.Core.nuspec4
7 files changed, 43 insertions, 15 deletions
diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
index 3d7421f67..4e1b4634e 100644
--- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
+++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Common.Implementations.Udp;
+using System.Threading.Tasks;
+using MediaBrowser.Common.Implementations.Udp;
using MediaBrowser.Common.Implementations.Updates;
using MediaBrowser.Common.Implementations.WebSocket;
using MediaBrowser.Common.Kernel;
@@ -48,7 +49,7 @@ namespace MediaBrowser.Common.Implementations
/// The container
/// </summary>
protected readonly Container Container = new Container();
-
+
/// <summary>
/// Gets assemblies that failed to load
/// </summary>
@@ -114,16 +115,26 @@ namespace MediaBrowser.Common.Implementations
protected BaseApplicationHost()
{
FailedAssemblies = new List<string>();
+ }
- ApplicationPaths = GetApplicationPaths();
+ /// <summary>
+ /// Inits this instance.
+ /// </summary>
+ /// <returns>Task.</returns>
+ public virtual Task Init()
+ {
+ return Task.Run(() =>
+ {
+ ApplicationPaths = GetApplicationPaths();
- LogManager = GetLogManager();
+ LogManager = GetLogManager();
- Logger = LogManager.GetLogger("App");
+ Logger = LogManager.GetLogger("App");
- IsFirstRun = !File.Exists(ApplicationPaths.SystemConfigurationFilePath);
+ IsFirstRun = !File.Exists(ApplicationPaths.SystemConfigurationFilePath);
- DiscoverTypes();
+ DiscoverTypes();
+ });
}
/// <summary>
@@ -157,7 +168,7 @@ namespace MediaBrowser.Common.Implementations
Plugins = GetExports<IPlugin>();
}
-
+
/// <summary>
/// Discovers the types.
/// </summary>
@@ -189,7 +200,7 @@ namespace MediaBrowser.Common.Implementations
RegisterSingleInstance(networkManager);
RegisterSingleInstance(serverManager);
}
-
+
/// <summary>
/// Gets a list of types within an assembly
/// This will handle situations that would normally throw an exception - such as a type within the assembly that depends on some other non-existant reference
@@ -353,7 +364,7 @@ namespace MediaBrowser.Common.Implementations
/// <param name="autorun">if set to <c>true</c> [autorun].</param>
public void ConfigureAutoRunAtStartup(bool autorun)
{
-
+
}
/// <summary>
diff --git a/MediaBrowser.Common/Kernel/IApplicationHost.cs b/MediaBrowser.Common/Kernel/IApplicationHost.cs
index 29934988a..38a1cb318 100644
--- a/MediaBrowser.Common/Kernel/IApplicationHost.cs
+++ b/MediaBrowser.Common/Kernel/IApplicationHost.cs
@@ -110,5 +110,11 @@ namespace MediaBrowser.Common.Kernel
/// </summary>
/// <param name="plugin">The plugin.</param>
void RemovePlugin(IPlugin plugin);
+
+ /// <summary>
+ /// Inits this instance.
+ /// </summary>
+ /// <returns>Task.</returns>
+ Task Init();
}
}
diff --git a/MediaBrowser.ServerApplication/App.xaml.cs b/MediaBrowser.ServerApplication/App.xaml.cs
index 95ece67e6..d79b2ff43 100644
--- a/MediaBrowser.ServerApplication/App.xaml.cs
+++ b/MediaBrowser.ServerApplication/App.xaml.cs
@@ -165,6 +165,7 @@ namespace MediaBrowser.ServerApplication
protected async void LoadKernel()
{
CompositionRoot = new ApplicationHost();
+ await CompositionRoot.Init();
Logger = CompositionRoot.Logger;
Kernel = CompositionRoot.Kernel;
diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs
index d70d179a6..668887a56 100644
--- a/MediaBrowser.ServerApplication/ApplicationHost.cs
+++ b/MediaBrowser.ServerApplication/ApplicationHost.cs
@@ -78,6 +78,16 @@ namespace MediaBrowser.ServerApplication
public ApplicationHost()
: base()
{
+ }
+
+ /// <summary>
+ /// Inits this instance.
+ /// </summary>
+ /// <returns>Task.</returns>
+ public override async Task Init()
+ {
+ await base.Init().ConfigureAwait(false);
+
Kernel = new Kernel(this, ServerApplicationPaths, _xmlSerializer, Logger);
var networkManager = new NetworkManager();
diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec
index 748191c03..b51ed3cc0 100644
--- a/Nuget/MediaBrowser.Common.Internal.nuspec
+++ b/Nuget/MediaBrowser.Common.Internal.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>MediaBrowser.Common.Internal</id>
- <version>3.0.24</version>
+ <version>3.0.25</version>
<title>MediaBrowser.Common.Internal</title>
<authors>Luke</authors>
<owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
<description>Contains common components shared by Media Browser Theatre and Media Browser Server. Not intended for plugin developer consumption.</description>
<copyright>Copyright © Media Browser 2013</copyright>
<dependencies>
- <dependency id="MediaBrowser.Common" version="3.0.24" />
+ <dependency id="MediaBrowser.Common" version="3.0.25" />
<dependency id="NLog" version="2.0.0.2000" />
<dependency id="ServiceStack" version="3.9.37" />
<dependency id="ServiceStack.Api.Swagger" version="3.9.35" />
diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec
index e1bb8b3e6..19b37c869 100644
--- a/Nuget/MediaBrowser.Common.nuspec
+++ b/Nuget/MediaBrowser.Common.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>MediaBrowser.Common</id>
- <version>3.0.24</version>
+ <version>3.0.25</version>
<title>MediaBrowser.Common</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>
diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec
index 04f326348..dfcb28aa0 100644
--- a/Nuget/MediaBrowser.Server.Core.nuspec
+++ b/Nuget/MediaBrowser.Server.Core.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>MediaBrowser.Server.Core</id>
- <version>3.0.24</version>
+ <version>3.0.25</version>
<title>Media Browser.Server.Core</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
<description>Contains core components required to build plugins for Media Browser Server.</description>
<copyright>Copyright © Media Browser 2013</copyright>
<dependencies>
- <dependency id="MediaBrowser.Common" version="3.0.24" />
+ <dependency id="MediaBrowser.Common" version="3.0.25" />
</dependencies>
</metadata>
<files>