diff options
| -rw-r--r-- | MediaBrowser.Api/Plugin.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Common/Plugins/BasePlugin.cs | 44 | ||||
| -rw-r--r-- | MediaBrowser.TV/Plugin.cs | 4 |
3 files changed, 43 insertions, 7 deletions
diff --git a/MediaBrowser.Api/Plugin.cs b/MediaBrowser.Api/Plugin.cs index 7005b8f8a..e83f366df 100644 --- a/MediaBrowser.Api/Plugin.cs +++ b/MediaBrowser.Api/Plugin.cs @@ -18,7 +18,7 @@ namespace MediaBrowser.Api get { return "Media Browser API"; }
}
- protected override void InitializeInternal()
+ protected override void InitializeOnServer()
{
var httpServer = Kernel.Instance.HttpServer;
diff --git a/MediaBrowser.Common/Plugins/BasePlugin.cs b/MediaBrowser.Common/Plugins/BasePlugin.cs index 55f092666..705e15f17 100644 --- a/MediaBrowser.Common/Plugins/BasePlugin.cs +++ b/MediaBrowser.Common/Plugins/BasePlugin.cs @@ -184,22 +184,58 @@ namespace MediaBrowser.Common.Plugins if (Enabled)
{
- InitializeInternal();
+ if (kernel.KernelContext == KernelContext.Server)
+ {
+ InitializeOnServer();
+ }
+ else if (kernel.KernelContext == KernelContext.UI)
+ {
+ InitializeInUI();
+ }
}
}
}
/// <summary>
- /// Starts the plugin.
+ /// Starts the plugin on the server
+ /// </summary>
+ protected virtual void InitializeOnServer()
+ {
+ }
+
+ /// <summary>
+ /// Starts the plugin in the UI
/// </summary>
- protected virtual void InitializeInternal()
+ protected virtual void InitializeInUI()
{
}
/// <summary>
/// Disposes the plugins. Undos all actions performed during Init.
/// </summary>
- public virtual void Dispose()
+ public void Dispose()
+ {
+ if (Context == KernelContext.Server)
+ {
+ DisposeOnServer();
+ }
+ else if (Context == KernelContext.UI)
+ {
+ InitializeInUI();
+ }
+ }
+
+ /// <summary>
+ /// Disposes the plugin on the server
+ /// </summary>
+ protected virtual void DisposeOnServer()
+ {
+ }
+
+ /// <summary>
+ /// Disposes the plugin in the UI
+ /// </summary>
+ protected virtual void DisposeInUI()
{
}
diff --git a/MediaBrowser.TV/Plugin.cs b/MediaBrowser.TV/Plugin.cs index 75a108b2d..c4ae87cae 100644 --- a/MediaBrowser.TV/Plugin.cs +++ b/MediaBrowser.TV/Plugin.cs @@ -16,12 +16,12 @@ namespace MediaBrowser.TV get { return "TV"; }
}
- protected override void InitializeInternal()
+ protected override void InitializeOnServer()
{
Kernel.Instance.ItemController.PreBeginResolvePath += ItemController_PreBeginResolvePath;
}
- public override void Dispose()
+ protected override void DisposeOnServer()
{
Kernel.Instance.ItemController.PreBeginResolvePath -= ItemController_PreBeginResolvePath;
}
|
