aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs18
-rw-r--r--MediaBrowser.Common/Security/IRequiresRegistration.cs6
2 files changed, 15 insertions, 9 deletions
diff --git a/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs b/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs
index beca1637d..c345e122f 100644
--- a/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs
+++ b/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs
@@ -73,9 +73,9 @@ namespace MediaBrowser.Common.Implementations.Security
{
var tasks = new List<Task>();
+ ResetSupporterInfo();
tasks.AddRange(_registeredEntities.Select(i => i.LoadRegistrationInfoAsync()));
await Task.WhenAll(tasks);
- ResetSupporterInfo();
}
/// <summary>
@@ -101,11 +101,8 @@ namespace MediaBrowser.Common.Implementations.Security
if (value != MBRegistration.SupporterKey)
{
MBRegistration.SupporterKey = value;
- // Clear this so it will re-evaluate
- ResetSupporterInfo();
- // And we'll need to restart to re-evaluate the status of plug-ins
- _appHost.NotifyPendingRestart();
-
+ // re-load registration info
+ Task.Run(() => LoadAllRegistrationInfo());
}
}
}
@@ -119,9 +116,12 @@ namespace MediaBrowser.Common.Implementations.Security
get { return MBRegistration.LegacyKey; }
set
{
- MBRegistration.LegacyKey = value;
- // And we'll need to restart to re-evaluate the status of plug-ins
- _appHost.NotifyPendingRestart();
+ if (value != MBRegistration.LegacyKey)
+ {
+ MBRegistration.LegacyKey = value;
+ // re-load registration info
+ Task.Run(() => LoadAllRegistrationInfo());
+ }
}
}
diff --git a/MediaBrowser.Common/Security/IRequiresRegistration.cs b/MediaBrowser.Common/Security/IRequiresRegistration.cs
index 66667d449..7b1667c2e 100644
--- a/MediaBrowser.Common/Security/IRequiresRegistration.cs
+++ b/MediaBrowser.Common/Security/IRequiresRegistration.cs
@@ -4,6 +4,12 @@ namespace MediaBrowser.Common.Security
{
public interface IRequiresRegistration
{
+ /// <summary>
+ /// Load all registration information required for this entity.
+ /// Your class should re-load all MBRegistrationRecords when this is called even if they were
+ /// previously loaded.
+ /// </summary>
+ /// <returns></returns>
Task LoadRegistrationInfoAsync();
}
}