void Update(Guid pluginId, FinalResult r) { if (r.UpdatePlugin(pluginId, _runnerDisabled, _runner.ConfigManager.SolvedPluginConfiguration, _layers, _runner.Discoverer)) { UpdateCheckDirty(r); } }
/// <summary> /// Initialize the internal count of differences and set RunningConfiguration.IsDirty accordingly. /// </summary> internal void Initialize() { Debug.Assert(_nbFinalDifferFromRunning == 0); foreach (var c in _runner.ConfigManager.SolvedPluginConfiguration) { FinalResult r = new FinalResult(); _final.Add(c.PluginId, r); Debug.Assert(r.FinalStatus == r.RunningStatus, "At creation time, they both are Optional."); if (r.UpdatePlugin(c.PluginId, _runnerDisabled, _runner.ConfigManager.SolvedPluginConfiguration, _layers, _runner.Discoverer)) { Debug.Assert(r.FinalStatus != r.RunningStatus, "If FinalStatus changed, then it necessarily differs from RunningStatus."); ++_nbFinalDifferFromRunning; } } _runner.SetDirty(_nbFinalDifferFromRunning > 0); }