aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Common.Implementations/BaseApplicationHost.cs')
-rw-r--r--MediaBrowser.Common.Implementations/BaseApplicationHost.cs76
1 files changed, 38 insertions, 38 deletions
diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
index 0a60b703f..769cac713 100644
--- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
+++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
@@ -154,30 +154,27 @@ namespace MediaBrowser.Common.Implementations
/// Inits this instance.
/// </summary>
/// <returns>Task.</returns>
- public virtual Task Init()
+ public virtual async Task Init()
{
- return Task.Run(() =>
- {
- IsFirstRun = !ConfigurationManager.CommonConfiguration.IsStartupWizardCompleted;
-
- Logger = LogManager.GetLogger("App");
+ IsFirstRun = !ConfigurationManager.CommonConfiguration.IsStartupWizardCompleted;
- DiscoverTypes();
+ Logger = LogManager.GetLogger("App");
- LogManager.ReloadLogger(ConfigurationManager.CommonConfiguration.EnableDebugLevelLogging ? LogSeverity.Debug : LogSeverity.Info);
+ DiscoverTypes();
- Logger.Info("Version {0} initializing", ApplicationVersion);
+ LogManager.ReloadLogger(ConfigurationManager.CommonConfiguration.EnableDebugLevelLogging ? LogSeverity.Debug : LogSeverity.Info);
- Kernel = GetKernel();
+ Logger.Info("Version {0} initializing", ApplicationVersion);
- RegisterResources();
+ Kernel = GetKernel();
- FindParts();
+ await RegisterResources().ConfigureAwait(false);
- Task.Run(() => ConfigureAutoRunAtStartup());
+ FindParts();
- Kernel.Init();
- });
+ Task.Run(() => ConfigureAutoRunAtStartup());
+
+ Kernel.Init();
}
/// <summary>
@@ -224,44 +221,47 @@ namespace MediaBrowser.Common.Implementations
/// <summary>
/// Registers resources that classes will depend on
/// </summary>
- protected virtual void RegisterResources()
+ protected virtual Task RegisterResources()
{
- RegisterSingleInstance(ConfigurationManager);
- RegisterSingleInstance<IApplicationHost>(this);
+ return Task.Run(() =>
+ {
+ RegisterSingleInstance(ConfigurationManager);
+ RegisterSingleInstance<IApplicationHost>(this);
- RegisterSingleInstance<IApplicationPaths>(ApplicationPaths);
+ RegisterSingleInstance<IApplicationPaths>(ApplicationPaths);
- var networkManager = new NetworkManager();
+ var networkManager = new NetworkManager();
- var serverManager = new ServerManager.ServerManager(this, Kernel, networkManager, JsonSerializer, Logger, ConfigurationManager);
+ var serverManager = new ServerManager.ServerManager(this, Kernel, networkManager, JsonSerializer, Logger, ConfigurationManager);
- TaskManager = new TaskManager(ApplicationPaths, JsonSerializer, Logger, serverManager);
+ TaskManager = new TaskManager(ApplicationPaths, JsonSerializer, Logger, serverManager);
- RegisterSingleInstance(JsonSerializer);
- RegisterSingleInstance(XmlSerializer);
+ RegisterSingleInstance(JsonSerializer);
+ RegisterSingleInstance(XmlSerializer);
- RegisterSingleInstance(LogManager);
- RegisterSingleInstance(Logger);
+ RegisterSingleInstance(LogManager);
+ RegisterSingleInstance(Logger);
- RegisterSingleInstance(Kernel);
+ RegisterSingleInstance(Kernel);
- RegisterSingleInstance(TaskManager);
- RegisterSingleInstance<IWebSocketServer>(() => new AlchemyServer(Logger));
- RegisterSingleInstance(ProtobufSerializer);
- RegisterSingleInstance<IUdpServer>(new UdpServer(Logger), false);
+ RegisterSingleInstance(TaskManager);
+ RegisterSingleInstance<IWebSocketServer>(() => new AlchemyServer(Logger));
+ RegisterSingleInstance(ProtobufSerializer);
+ RegisterSingleInstance<IUdpServer>(new UdpServer(Logger), false);
- var httpClient = new HttpClientManager.HttpClientManager(ApplicationPaths, Logger);
+ var httpClient = new HttpClientManager.HttpClientManager(ApplicationPaths, Logger);
- RegisterSingleInstance<IHttpClient>(httpClient);
+ RegisterSingleInstance<IHttpClient>(httpClient);
- RegisterSingleInstance<INetworkManager>(networkManager);
- RegisterSingleInstance<IServerManager>(serverManager);
+ RegisterSingleInstance<INetworkManager>(networkManager);
+ RegisterSingleInstance<IServerManager>(serverManager);
- SecurityManager = new PluginSecurityManager(Kernel, httpClient, JsonSerializer, ApplicationPaths);
+ SecurityManager = new PluginSecurityManager(Kernel, httpClient, JsonSerializer, ApplicationPaths);
- RegisterSingleInstance(SecurityManager);
+ RegisterSingleInstance(SecurityManager);
- RegisterSingleInstance<IPackageManager>(new PackageManager(SecurityManager, networkManager, httpClient, ApplicationPaths, JsonSerializer, Logger));
+ RegisterSingleInstance<IPackageManager>(new PackageManager(SecurityManager, networkManager, httpClient, ApplicationPaths, JsonSerializer, Logger));
+ });
}
/// <summary>