public Plugin GetPlugin(string name) { Plugin plugin = LookupPlugin(name); if (plugin == null) { string directory = Path.Combine(PluginsDirectory, name); if (Directory.Exists(directory)) { plugin = new Plugin(name, directory, Configuration); plugins.Add(name, plugin); } } return plugin; }
public void DiscoverPlugins() { var pluginDirectories = Directory.GetDirectories(PluginsDirectory); foreach (var directory in pluginDirectories) { string pluginName = Path.GetFileName(directory); Plugin plugin = LookupPlugin(pluginName); if (plugin == null) { plugin = new Plugin(pluginName, directory, Configuration); plugins.Add(pluginName, plugin); } } }