diff options
Diffstat (limited to 'MediaBrowser.Common.Implementations/BaseApplicationHost.cs')
| -rw-r--r-- | MediaBrowser.Common.Implementations/BaseApplicationHost.cs | 41 |
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() |
