public SolvedItemSnapshot( IYodiiItemData item ) { _disabledReason = item.DisabledReason; _runningStatus = item.DynamicStatus; _configOriginalStatus = item.ConfigOriginalStatus; _configSolvedStatus = item.ConfigSolvedStatus; _configOriginalImpact = item.ConfigOriginalImpact; _configSolvedImpact = item.RawConfigSolvedImpact; }
public SolvedItemSnapshot(IYodiiItemData item) { _disabledReason = item.DisabledReason; _runningStatus = item.DynamicStatus; _configOriginalStatus = item.ConfigOriginalStatus; _configSolvedStatus = item.ConfigSolvedStatus; _configOriginalImpact = item.ConfigOriginalImpact; _configSolvedImpact = item.RawConfigSolvedImpact; }
protected LiveYodiiItemInfo( YodiiEngine engine, IYodiiItemData d, string fullName ) { Debug.Assert( d != null && engine != null && !String.IsNullOrEmpty( fullName ) ); _engine = engine; _capability = new LiveRunCapability( d.FinalConfigSolvedStatus, d.FinalStartableStatus ); _fullName = fullName; Debug.Assert( d.DynamicStatus != null ); _disabledReason = d.DisabledReason; _runningStatus = d.DynamicStatus.Value; _configOriginalStatus = d.ConfigOriginalStatus; _configSolvedStatus = d.ConfigSolvedStatus; _configOriginalImpact = d.ConfigOriginalImpact; _configSolvedImpact = d.RawConfigSolvedImpact; }
protected LiveYodiiItemInfo(YodiiEngine engine, IYodiiItemData d, string fullName) { Debug.Assert(d != null && engine != null && !String.IsNullOrEmpty(fullName)); _engine = engine; _capability = new LiveRunCapability(d.FinalConfigSolvedStatus, d.FinalStartableStatus); _fullName = fullName; Debug.Assert(d.DynamicStatus != null); _disabledReason = d.DisabledReason; _runningStatus = d.DynamicStatus.Value; _configOriginalStatus = d.ConfigOriginalStatus; _configSolvedStatus = d.ConfigSolvedStatus; _configOriginalImpact = d.ConfigOriginalImpact; _configSolvedImpact = d.RawConfigSolvedImpact; }
protected void UpdateItem(IYodiiItemData d, DelayedPropertyNotification notifier) { Debug.Assert(d.DynamicStatus != null); bool wasRunning = _runningStatus >= RunningStatus.Running; var prevFinalSolvedConfig = FinalConfigSolvedStatus; _capability.UpdateFrom(d.FinalConfigSolvedStatus, d.FinalStartableStatus, notifier); notifier.Update(this, ref _disabledReason, d.DisabledReason, () => DisabledReason); notifier.Update(this, ref _runningStatus, d.DynamicStatus.Value, () => RunningStatus); notifier.Update(this, ref _configOriginalStatus, d.ConfigOriginalStatus, () => ConfigOriginalStatus); notifier.Update(this, ref _configSolvedStatus, d.ConfigSolvedStatus, () => WantedConfigSolvedStatus); notifier.Update(this, ref _configOriginalImpact, d.ConfigOriginalImpact, () => ConfigOriginalImpact); notifier.Update(this, ref _configSolvedImpact, d.RawConfigSolvedImpact, () => ConfigSolvedImpact); if (wasRunning != (_runningStatus >= RunningStatus.Running)) { notifier.Notify(this, () => IsRunning); } if (prevFinalSolvedConfig != FinalConfigSolvedStatus) { notifier.Notify(this, () => FinalConfigSolvedStatus); } }
protected void UpdateItem( IYodiiItemData d, DelayedPropertyNotification notifier ) { Debug.Assert( d.DynamicStatus != null ); bool wasRunning = _runningStatus >= RunningStatus.Running; var prevFinalSolvedConfig = FinalConfigSolvedStatus; _capability.UpdateFrom( d.FinalConfigSolvedStatus, d.FinalStartableStatus, notifier ); notifier.Update( this, ref _disabledReason, d.DisabledReason, () => DisabledReason ); notifier.Update( this, ref _runningStatus, d.DynamicStatus.Value, () => RunningStatus ); notifier.Update( this, ref _configOriginalStatus, d.ConfigOriginalStatus, () => ConfigOriginalStatus ); notifier.Update( this, ref _configSolvedStatus, d.ConfigSolvedStatus, () => WantedConfigSolvedStatus ); notifier.Update( this, ref _configOriginalImpact, d.ConfigOriginalImpact, () => ConfigOriginalImpact ); notifier.Update( this, ref _configSolvedImpact, d.RawConfigSolvedImpact, () => ConfigSolvedImpact ); if( wasRunning != (_runningStatus >= RunningStatus.Running) ) { notifier.Notify( this, () => IsRunning ); } if( prevFinalSolvedConfig != FinalConfigSolvedStatus ) { notifier.Notify( this, () => FinalConfigSolvedStatus ); } }