예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
 public IPsbPluginInfo GetInfo(IPsbPlugin plugin)
 {
     return(_plugins[plugin]);
 }