public void Destroy() { if (_holder.OnDestroy(this)) { _holder = null; } }
public PluginStatus(PluginStatusCollection holder, Guid pluginId, ConfigPluginStatus status) { _holder = holder; _pluginId = pluginId; _status = status; }
public void Destroy() { if( _holder.OnDestroy( this ) ) _holder = null; }
protected ConfigurationBase( ConfigManagerImpl configManager, string uriHistoryEntryName ) { ConfigManager = configManager; PluginStatusCollection = new PluginStatusCollection( this ); UriHistoryCollection = new UriHistoryCollection( this, uriHistoryEntryName ); }
public void PluginStatusCollectionEvents() { var ctx = MiniContext.CreateMiniContext( "PluginStatusCollectionEvents" ); PluginStatusCollectionChangingEventArgs lastChanging = null; PluginStatusCollectionChangedEventArgs lastChanged = null; int changingCount = 0; int changedCount = 0; PluginStatusCollection collection = new PluginStatusCollection( ctx.ConfigManager.SystemConfiguration as SystemConfiguration ); collection.Changing += ( o, e ) => { lastChanging = e; changingCount++; }; collection.Changed += ( o, e ) => { lastChanged = e; changedCount++; }; // check add collection.SetStatus( Guid.Empty, ConfigPluginStatus.Manual ); Assert.That( changingCount == 1 && changedCount == 1 ); Assert.That( lastChanging.Action == CK.Core.ChangeStatus.Add ); Assert.That( lastChanged.Action == CK.Core.ChangeStatus.Add ); Assert.That( lastChanging.Collection == collection ); Assert.That( lastChanged.Collection == collection ); Assert.That( lastChanging.PluginID == Guid.Empty ); Assert.That( lastChanged.PluginID == Guid.Empty ); Assert.That( lastChanging.Status == ConfigPluginStatus.Manual ); Assert.That( lastChanged.Status == ConfigPluginStatus.Manual ); changedCount = 0; changingCount = 0; // check update collection.SetStatus( Guid.Empty, ConfigPluginStatus.Disabled ); Assert.That( changingCount == 1 && changedCount == 1 ); Assert.That( lastChanging.Action == CK.Core.ChangeStatus.Update ); Assert.That( lastChanged.Action == CK.Core.ChangeStatus.Update ); Assert.That( lastChanging.Collection == collection ); Assert.That( lastChanged.Collection == collection ); Assert.That( lastChanging.PluginID == Guid.Empty ); Assert.That( lastChanged.PluginID == Guid.Empty ); Assert.That( lastChanging.Status == ConfigPluginStatus.Disabled ); Assert.That( lastChanged.Status == ConfigPluginStatus.Disabled ); changedCount = 0; changingCount = 0; // check delete IPluginStatus status = collection.GetPluginStatus( Guid.Empty ); status.Destroy(); Assert.That( changingCount == 1 && changedCount == 1 ); Assert.That( lastChanging.Action == CK.Core.ChangeStatus.Delete ); Assert.That( lastChanged.Action == CK.Core.ChangeStatus.Delete ); Assert.That( lastChanging.Collection == collection ); Assert.That( lastChanged.Collection == collection ); Assert.That( lastChanging.PluginID == Guid.Empty ); Assert.That( lastChanged.PluginID == Guid.Empty ); Assert.That( lastChanging.Status == ConfigPluginStatus.Disabled ); Assert.That( lastChanged.Status == ConfigPluginStatus.Disabled ); changedCount = 0; changingCount = 0; // check clear collection.Clear(); Assert.That( changingCount == 1 && changedCount == 1 ); Assert.That( lastChanging.Action == CK.Core.ChangeStatus.ContainerClear ); Assert.That( lastChanged.Action == CK.Core.ChangeStatus.ContainerClear ); Assert.That( lastChanging.Collection == collection ); Assert.That( lastChanged.Collection == collection ); Assert.That( lastChanging.PluginID == Guid.Empty ); Assert.That( lastChanged.PluginID == Guid.Empty ); Assert.That( lastChanging.Status == 0 ); Assert.That( lastChanged.Status == 0 ); }
public void PluginStatusCollectionMerge() { Guid id1 = Guid.NewGuid(); Guid id2 = Guid.NewGuid(); Guid id3 = Guid.NewGuid(); var ctx = MiniContext.CreateMiniContext( "PluginStatusCollectionMerge" ); PluginStatusCollection collection = new PluginStatusCollection( ctx.ConfigManager.SystemConfiguration as SystemConfiguration ); collection.SetStatus( id1, ConfigPluginStatus.Manual ); string path = TestBase.GetTestFilePath( "PluginStatusCollectionMerge" ); using( Stream s = new FileStream( path, FileMode.Create ) ) { using( var w = SimpleStructuredWriter.CreateWriter( s, null ) ) { PluginStatusCollection collection2 = new PluginStatusCollection( ctx.ConfigManager.SystemConfiguration as SystemConfiguration ); collection2.SetStatus( id1, ConfigPluginStatus.Disabled ); collection2.SetStatus( id2, ConfigPluginStatus.Disabled ); collection2.SetStatus( id3, ConfigPluginStatus.AutomaticStart ); w.WriteInlineObjectStructuredElement( "PC", collection2 ); } } int changingCount = 0, changedCount = 0; PluginStatusCollectionChangingEventArgs lastChanging = null; PluginStatusCollectionChangedEventArgs lastChanged = null; collection.Changing += ( o, e ) => { lastChanging = e; changingCount++; }; collection.Changed += ( o, e ) => { lastChanged = e; changedCount++; }; using( Stream s = new FileStream( path, FileMode.Open ) ) { using( var r = SimpleStructuredReader.CreateReader( s, null ) ) { r.ReadInlineObjectStructuredElement( "PC", collection ); } } // Check event count & args Assert.That( changingCount == 0 && changedCount == 1 ); Assert.That( lastChanging == null ); Assert.That( lastChanged.Action == CK.Core.ChangeStatus.ContainerUpdate ); Assert.That( lastChanged.Collection == collection ); Assert.That( lastChanged.PluginID == Guid.Empty ); Assert.That( lastChanged.Status == 0 ); // Check content Assert.That( collection.Count == 3 ); Assert.That( collection.GetStatus( id1, ConfigPluginStatus.Manual ) == ConfigPluginStatus.Disabled ); Assert.That( collection.GetStatus( id2, ConfigPluginStatus.Manual ) == ConfigPluginStatus.Disabled ); Assert.That( collection.GetStatus( id3, ConfigPluginStatus.Manual ) == ConfigPluginStatus.AutomaticStart ); }
protected ConfigurationBase(ConfigManagerImpl configManager, string uriHistoryEntryName) { ConfigManager = configManager; PluginStatusCollection = new PluginStatusCollection(this); UriHistoryCollection = new UriHistoryCollection(this, uriHistoryEntryName); }