pub struct PluginRegistry { /* private fields */ }Expand description
Global plugin registry
Implementations§
Source§impl PluginRegistry
impl PluginRegistry
pub fn new() -> Self
Sourcepub fn register_factory(
&self,
name: String,
factory: PluginFactory,
) -> Result<(), PluginError>
pub fn register_factory( &self, name: String, factory: PluginFactory, ) -> Result<(), PluginError>
Register a plugin factory
Sourcepub fn create_plugin(
&self,
name: &str,
config: &PluginConfig,
) -> Result<(), PluginError>
pub fn create_plugin( &self, name: &str, config: &PluginConfig, ) -> Result<(), PluginError>
Create and register a plugin instance
Sourcepub fn get_plugin(
&self,
name: &str,
) -> Result<Box<dyn OptimizerPlugin>, PluginError>
pub fn get_plugin( &self, name: &str, ) -> Result<Box<dyn OptimizerPlugin>, PluginError>
Get a plugin by name
Sourcepub fn list_plugins(&self) -> Result<Vec<String>, PluginError>
pub fn list_plugins(&self) -> Result<Vec<String>, PluginError>
List all registered plugin names
Sourcepub fn unregister_plugin(&self, name: &str) -> Result<(), PluginError>
pub fn unregister_plugin(&self, name: &str) -> Result<(), PluginError>
Unregister a plugin
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 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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more