pub struct PluginRegistry { /* private fields */ }Expand description
Plugin registry for managing loaded plugins
Implementations§
Source§impl PluginRegistry
impl PluginRegistry
Sourcepub fn register_plugin(
&self,
plugin_id: String,
plugin: Box<dyn Plugin>,
config: PluginConfig,
) -> Result<(), PluginError>
pub fn register_plugin( &self, plugin_id: String, plugin: Box<dyn Plugin>, config: PluginConfig, ) -> Result<(), PluginError>
Register a new plugin
Sourcepub fn enable_plugin(&self, plugin_id: &str) -> Result<(), PluginError>
pub fn enable_plugin(&self, plugin_id: &str) -> Result<(), PluginError>
Enable a plugin
Sourcepub fn disable_plugin(&self, plugin_id: &str) -> Result<(), PluginError>
pub fn disable_plugin(&self, plugin_id: &str) -> Result<(), PluginError>
Disable a plugin
Sourcepub fn execute_plugins(
&self,
plugin_type: PluginType,
context: &PluginContext,
) -> Vec<Result<PluginResult, PluginError>>
pub fn execute_plugins( &self, plugin_type: PluginType, context: &PluginContext, ) -> Vec<Result<PluginResult, PluginError>>
Execute plugins of a specific type
Sourcepub fn get_enabled_plugins(&self) -> Vec<String>
pub fn get_enabled_plugins(&self) -> Vec<String>
Get enabled plugins
Sourcepub fn get_plugin_metadata(&self, plugin_id: &str) -> Option<PluginMetadata>
pub fn get_plugin_metadata(&self, plugin_id: &str) -> Option<PluginMetadata>
Get plugin metadata
Sourcepub fn list_plugins(&self) -> Vec<PluginMetadata>
pub fn list_plugins(&self) -> Vec<PluginMetadata>
List all registered plugins
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PluginRegistry
impl RefUnwindSafe for PluginRegistry
impl Send for PluginRegistry
impl Sync for PluginRegistry
impl Unpin for PluginRegistry
impl UnsafeUnpin for PluginRegistry
impl UnwindSafe for PluginRegistry
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more