pub trait PluginManager {
// Required methods
fn discover_plugins(&self) -> Result<HashMap<String, PluginInfo>>;
fn is_compatible(&self, name: &str, version: &str) -> Result<bool>;
fn load_plugin(&self, name: &str) -> Result<Box<dyn Plugin>>;
fn list_plugins(&self) -> Vec<String>;
}Expand description
Plugin discovery and management interface.
This trait provides methods for discovering available plugins, checking compatibility, and loading plugin instances.
Required Methods§
Sourcefn discover_plugins(&self) -> Result<HashMap<String, PluginInfo>>
fn discover_plugins(&self) -> Result<HashMap<String, PluginInfo>>
Discovers all available plugins in the system.
§Returns
A map of plugin names to their information metadata.