public void Close(bool fInteractive) { this.iRefCount--; if (this.iClosingCount == 0) { this.pluginServer.ClearEvents(); } foreach (Plugin plugin in this.dicPluginInstances.Values) { if ((plugin.PluginInformation != null) && (fInteractive ^ (plugin.PluginInformation.PluginType != PluginType.Interactive))) { plugin.Close(EndCode.WindowClosed); } } if (!fInteractive) { this.plgIFilter = null; this.plgFilterCore = null; } if (this.iRefCount == 0) { this.dicPluginInstances.Clear(); this.pluginServer.Dispose(); this.pluginServer = null; } this.iClosingCount++; }
public PluginManager(QTTabBarClass tabBar) { this.pluginServer = new QTTabBarClass.PluginServer(tabBar, this); this.LoadStartupPlugins(); this.iRefCount++; }