public void Remove(IPsbPlugin plugin) { if (plugin is IPsbImageFormatter f) { f.Extensions.ForEach(ext => ImageFormatters.Remove(ext)); } if (plugin is IPsbAudioFormatter a) { a.Extensions.ForEach(ext => AudioFormatters.Remove(ext)); } if (plugin is IPsbShell s) { Shells.Remove(s.Name); } if (plugin is IPsbSpecialType t) { SpecialTypes.Remove(t.TypeId); } if (plugin is IPsbKeyProvider) { _keyProvider = null; } _plugins.Remove(plugin); }
public void Remove(IPsbPlugin plugin) { if (plugin is IPsbImageFormatter f) { f.Extensions.ForEach(ext => ImageFormatters.Remove(ext)); } if (plugin is IPsbShell s) { Shells.Remove(s.Name); } if (plugin is IPsbKeyProvider) { _keyProvider = null; } _plugins.Remove(plugin); }
public IPsbPluginInfo GetInfo(IPsbPlugin plugin) { return(_plugins[plugin]); }