diff options
Diffstat (limited to 'MediaBrowser.Controller/Kernel.cs')
| -rw-r--r-- | MediaBrowser.Controller/Kernel.cs | 46 |
1 files changed, 17 insertions, 29 deletions
diff --git a/MediaBrowser.Controller/Kernel.cs b/MediaBrowser.Controller/Kernel.cs index 682abb632..4c0dc6965 100644 --- a/MediaBrowser.Controller/Kernel.cs +++ b/MediaBrowser.Controller/Kernel.cs @@ -1,5 +1,6 @@ using MediaBrowser.Common.Kernel;
using MediaBrowser.Common.Logging;
+using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.IO;
@@ -27,7 +28,6 @@ namespace MediaBrowser.Controller public static Kernel Instance { get; private set; }
public ItemController ItemController { get; private set; }
- public WeatherClient WeatherClient { get; private set; }
public IEnumerable<User> Users { get; private set; }
public Folder RootFolder { get; private set; }
@@ -48,6 +48,12 @@ namespace MediaBrowser.Controller }
/// <summary>
+ /// Gets the list of currently registered weather prvoiders
+ /// </summary>
+ [ImportMany(typeof(BaseWeatherProvider))]
+ public IEnumerable<BaseWeatherProvider> WeatherProviders { get; private set; }
+
+ /// <summary>
/// Gets the list of currently registered metadata prvoiders
/// </summary>
[ImportMany(typeof(BaseMetadataProvider))]
@@ -72,6 +78,12 @@ namespace MediaBrowser.Controller internal IBaseItemResolver[] EntityResolvers { get; private set; }
/// <summary>
+ /// Gets the list of currently registered entity resolvers
+ /// </summary>
+ [ImportMany(typeof(BaseImageProcessor))]
+ internal IEnumerable<BaseImageProcessor> ImageProcessors { get; private set; }
+
+ /// <summary>
/// Creates a kernel based on a Data path, which is akin to our current programdata path
/// </summary>
public Kernel()
@@ -85,13 +97,15 @@ namespace MediaBrowser.Controller /// </summary>
protected override void InitializeInternal(IProgress<TaskProgress> progress)
{
+ base.InitializeInternal(progress);
+
ItemController = new ItemController();
DirectoryWatchers = new DirectoryWatchers();
ItemController.PreBeginResolvePath += ItemController_PreBeginResolvePath;
ItemController.BeginResolvePath += ItemController_BeginResolvePath;
- base.InitializeInternal(progress);
+ ExtractFFMpeg();
}
/// <summary>
@@ -101,14 +115,11 @@ namespace MediaBrowser.Controller {
await base.ReloadInternal(progress).ConfigureAwait(false);
- ReloadWeatherClient();
-
- ExtractFFMpeg();
-
ReportProgress(progress, "Loading Users");
ReloadUsers();
ReportProgress(progress, "Loading Media Library");
+
await ReloadRoot(allowInternetProviders: false).ConfigureAwait(false);
}
@@ -121,8 +132,6 @@ namespace MediaBrowser.Controller DirectoryWatchers.Stop();
- DisposeWeatherClient();
-
ItemController.PreBeginResolvePath -= ItemController_PreBeginResolvePath;
ItemController.BeginResolvePath -= ItemController_BeginResolvePath;
}
@@ -413,26 +422,5 @@ namespace MediaBrowser.Controller }
}
}
-
- /// <summary>
- /// Disposes the current WeatherClient
- /// </summary>
- private void DisposeWeatherClient()
- {
- if (WeatherClient != null)
- {
- WeatherClient.Dispose();
- }
- }
-
- /// <summary>
- /// Disposes the current WeatherClient and creates a new one
- /// </summary>
- private void ReloadWeatherClient()
- {
- DisposeWeatherClient();
-
- WeatherClient = new WeatherClient();
- }
}
}
|
