/// <summary> /// Deletes the PluginStatus set as parameter. /// Sends StatusChanging & StatusChanged /// </summary> /// <param name="status">The <see cref="PluginStatus"/> to remove</param> /// <returns>True if deletion has been completed, false otherwise</returns> internal bool OnDestroy(PluginStatus status) { if (CanChange(ChangeStatus.Delete, status.PluginId, status.Status)) { if (_pluginStatusDic.ContainsValue(status)) { _pluginStatusDic.Remove(status.PluginId); Change(ChangeStatus.Delete, status.PluginId, status.Status); return(true); } } return(false); }
public void SetStatus( Guid pluginId, ConfigPluginStatus status ) { PluginStatus currentPluginStatus; if ( _pluginStatusDic.TryGetValue( pluginId, out currentPluginStatus ) ) { currentPluginStatus.Status = status; } else if ( CanChange( ChangeStatus.Add, pluginId, status ) ) { PluginStatus newStatus = new PluginStatus( this, pluginId, status ); _pluginStatusDic.Add( pluginId, newStatus ); Change( ChangeStatus.Add, pluginId, status ); } }
public void SetStatus(Guid pluginId, ConfigPluginStatus status) { PluginStatus currentPluginStatus; if (_pluginStatusDic.TryGetValue(pluginId, out currentPluginStatus)) { currentPluginStatus.Status = status; } else if (CanChange(ChangeStatus.Add, pluginId, status)) { PluginStatus newStatus = new PluginStatus(this, pluginId, status); _pluginStatusDic.Add(pluginId, newStatus); Change(ChangeStatus.Add, pluginId, status); } }
public void ReadContent(IStructuredReader sr) { XmlReader r = sr.Xml; r.Read(); Dictionary <Guid, PluginStatus> newContent = new Dictionary <Guid, PluginStatus>(); while (r.IsStartElement("PluginStatus")) { Guid guid = new Guid(r.GetAttribute("Guid")); ConfigPluginStatus status = (ConfigPluginStatus)Enum.Parse(typeof(ConfigPluginStatus), r.GetAttribute("Status")); newContent[guid] = new PluginStatus(this, guid, status); r.Skip(); } _pluginStatusDic.Clear(); _pluginStatusDic.AddRange(newContent); //may eventually be replaced by some code in SolvedPluginConfiguration //Without that, SolvedPluginConfiguration's ResolveConfiguration method is not called Change(ChangeStatus.ContainerUpdate, Guid.Empty, 0); }
public void ReadContent( IStructuredReader sr ) { XmlReader r = sr.Xml; r.Read(); Dictionary<Guid,PluginStatus> newContent = new Dictionary<Guid, PluginStatus>(); while( r.IsStartElement( "PluginStatus" ) ) { Guid guid = new Guid( r.GetAttribute( "Guid" ) ); ConfigPluginStatus status = (ConfigPluginStatus)Enum.Parse( typeof( ConfigPluginStatus ), r.GetAttribute( "Status" ) ); newContent[guid] = new PluginStatus( this, guid, status ); r.Skip(); } _pluginStatusDic.Clear(); _pluginStatusDic.AddRange( newContent ); //may eventually be replaced by some code in SolvedPluginConfiguration //Without that, SolvedPluginConfiguration's ResolveConfiguration method is not called Change(ChangeStatus.ContainerUpdate, Guid.Empty, 0); }
/// <summary> /// Deletes the PluginStatus set as parameter. /// Sends StatusChanging & StatusChanged /// </summary> /// <param name="status">The <see cref="PluginStatus"/> to remove</param> /// <returns>True if deletion has been completed, false otherwise</returns> internal bool OnDestroy( PluginStatus status ) { if( CanChange( ChangeStatus.Delete, status.PluginId, status.Status ) ) { if( _pluginStatusDic.ContainsValue( status ) ) { _pluginStatusDic.Remove( status.PluginId ); Change( ChangeStatus.Delete, status.PluginId, status.Status ); return true; } } return false; }