// Resolves all plugins' status, regarding User, system and LiveUser configuration void ResolveConfiguration() { HashSet <Guid> toProcess = new HashSet <Guid>(); foreach (IPluginStatus s in _cfg.GetSystemConfiguration(false).PluginStatusCollection) { toProcess.Add(s.PluginId); } foreach (IPluginStatus s in _cfg.GetUserConfiguration(false).PluginStatusCollection) { toProcess.Add(s.PluginId); } foreach (ILiveUserAction s in _cfg.GetUserConfiguration(false).LiveUserConfiguration) { toProcess.Add(s.PluginId); } foreach (Guid g in _dic.Keys) { toProcess.Add(g); } foreach (Guid g in toProcess) { SetStatus(g); } }
public SolvedPluginConfiguration(ConfigManagerImpl cfg) { _cfg = cfg; _dic = new Dictionary <Guid, SolvedPluginConfigElement>(); //Triggered when a PluginStatus is set _cfg.GetUserConfiguration(false).PluginStatusCollection.Changed += (o, e) => OnPluginConfigurationChanged(e.PluginID); _cfg.GetSystemConfiguration(false).PluginStatusCollection.Changed += (o, e) => OnPluginConfigurationChanged(e.PluginID); _cfg.GetUserConfiguration(false).LiveUserConfiguration.Changed += (o, e) => OnPluginConfigurationChanged(e.PluginID); ResolveConfiguration(); }