diff --git a/MediaBrowser.Common/Plugins/BasePlugin.cs b/MediaBrowser.Common/Plugins/BasePlugin.cs
index 2b7559c59d..55f0926662 100644
--- a/MediaBrowser.Common/Plugins/BasePlugin.cs
+++ b/MediaBrowser.Common/Plugins/BasePlugin.cs
@@ -35,12 +35,12 @@ namespace MediaBrowser.Common.Plugins
///
public abstract class BasePlugin : IDisposable
{
- public IKernel IKernel { get; set; }
+ private IKernel Kernel { get; set; }
///
/// Gets or sets the plugin's current context
///
- protected KernelContext Context { get { return IKernel.KernelContext; } }
+ protected KernelContext Context { get { return Kernel.KernelContext; } }
///
/// Gets the name of the plugin
@@ -98,7 +98,7 @@ namespace MediaBrowser.Common.Plugins
{
get
{
- return Path.Combine(IKernel.ApplicationPaths.PluginsPath, AssemblyFileName);
+ return Path.Combine(Kernel.ApplicationPaths.PluginsPath, AssemblyFileName);
}
}
@@ -119,7 +119,7 @@ namespace MediaBrowser.Common.Plugins
{
get
{
- return Path.Combine(IKernel.ApplicationPaths.PluginConfigurationsPath, ConfigurationFileName);
+ return Path.Combine(Kernel.ApplicationPaths.PluginConfigurationsPath, ConfigurationFileName);
}
}
@@ -135,7 +135,7 @@ namespace MediaBrowser.Common.Plugins
{
// Give the folder name the same name as the config file name
// We can always make this configurable if/when needed
- _DataFolderPath = Path.Combine(IKernel.ApplicationPaths.PluginsPath, Path.GetFileNameWithoutExtension(ConfigurationFileName));
+ _DataFolderPath = Path.Combine(Kernel.ApplicationPaths.PluginsPath, Path.GetFileNameWithoutExtension(ConfigurationFileName));
if (!Directory.Exists(_DataFolderPath))
{
@@ -166,18 +166,26 @@ namespace MediaBrowser.Common.Plugins
}
}
+ public void Initialize(IKernel kernel)
+ {
+ Initialize(kernel, true);
+ }
+
///
/// Starts the plugin.
///
- public void Initialize(IKernel kernel)
+ public void Initialize(IKernel kernel, bool loadFeatures)
{
- IKernel = kernel;
+ Kernel = kernel;
- ReloadConfiguration();
-
- if (Enabled)
+ if (loadFeatures)
{
- InitializeInternal();
+ ReloadConfiguration();
+
+ if (Enabled)
+ {
+ InitializeInternal();
+ }
}
}