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.cs41
1 files changed, 41 insertions, 0 deletions
diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
index f5855bf75..eeef6225d 100644
--- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
+++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
@@ -1,6 +1,7 @@
using System.IO;
using System.Linq;
using System.Reflection;
+using MediaBrowser.Common.Kernel;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
using SimpleInjector;
@@ -19,6 +20,18 @@ namespace MediaBrowser.Common.Implementations
public ILogger Logger { get; protected set; }
/// <summary>
+ /// Gets or sets the log manager.
+ /// </summary>
+ /// <value>The log manager.</value>
+ public ILogManager LogManager { get; protected set; }
+
+ /// <summary>
+ /// Gets the application paths.
+ /// </summary>
+ /// <value>The application paths.</value>
+ protected IApplicationPaths ApplicationPaths { get; private set; }
+
+ /// <summary>
/// The container
/// </summary>
protected readonly Container Container = new Container();
@@ -46,6 +59,12 @@ namespace MediaBrowser.Common.Implementations
protected readonly List<IDisposable> DisposableParts = new List<IDisposable>();
/// <summary>
+ /// Gets a value indicating whether this instance is first run.
+ /// </summary>
+ /// <value><c>true</c> if this instance is first run; otherwise, <c>false</c>.</value>
+ public bool IsFirstRun { get; private set; }
+
+ /// <summary>
/// The _protobuf serializer initialized
/// </summary>
private bool _protobufSerializerInitialized;
@@ -82,6 +101,16 @@ namespace MediaBrowser.Common.Implementations
protected BaseApplicationHost()
{
FailedAssemblies = new List<string>();
+
+ ApplicationPaths = GetApplicationPaths();
+
+ LogManager = GetLogManager();
+
+ Logger = LogManager.GetLogger("App");
+
+ IsFirstRun = !File.Exists(ApplicationPaths.SystemConfigurationFilePath);
+
+ DiscoverTypes();
}
/// <summary>
@@ -91,6 +120,18 @@ namespace MediaBrowser.Common.Implementations
protected abstract IEnumerable<Assembly> GetComposablePartAssemblies();
/// <summary>
+ /// Gets the log manager.
+ /// </summary>
+ /// <returns>ILogManager.</returns>
+ protected abstract ILogManager GetLogManager();
+
+ /// <summary>
+ /// Gets the application paths.
+ /// </summary>
+ /// <returns>IApplicationPaths.</returns>
+ protected abstract IApplicationPaths GetApplicationPaths();
+
+ /// <summary>
/// Discovers the types.
/// </summary>
protected void DiscoverTypes()