pub struct PluginRegistry { /* private fields */ }Expand description
Plugin registry for managing loaded plugins
Implementations§
Source§impl PluginRegistry
impl PluginRegistry
Sourcepub fn with_auto_register(self, enabled: bool) -> Self
pub fn with_auto_register(self, enabled: bool) -> Self
Set auto-registration mode
Sourcepub async fn update(&self, info: PluginInfo) -> Result<(), String>
pub async fn update(&self, info: PluginInfo) -> Result<(), String>
Update a plugin registration
Sourcepub async fn unregister(&self, plugin_id: &str) -> Result<PluginInfo, String>
pub async fn unregister(&self, plugin_id: &str) -> Result<PluginInfo, String>
Unregister a plugin
Sourcepub async fn get(&self, plugin_id: &str) -> Option<PluginInfo>
pub async fn get(&self, plugin_id: &str) -> Option<PluginInfo>
Get plugin info
Sourcepub async fn get_by_path<P: AsRef<Path>>(&self, path: P) -> Option<PluginInfo>
pub async fn get_by_path<P: AsRef<Path>>(&self, path: P) -> Option<PluginInfo>
Get plugin by path
Sourcepub async fn list(&self) -> Vec<PluginInfo>
pub async fn list(&self) -> Vec<PluginInfo>
List all registered plugins
Sourcepub async fn plugin_ids(&self) -> Vec<String>
pub async fn plugin_ids(&self) -> Vec<String>
List plugin IDs
Sourcepub async fn find_by_capability(&self, capability: &str) -> Vec<PluginInfo>
pub async fn find_by_capability(&self, capability: &str) -> Vec<PluginInfo>
Find plugins by capability
Sourcepub async fn find_by_state(&self, state: PluginState) -> Vec<PluginInfo>
pub async fn find_by_state(&self, state: PluginState) -> Vec<PluginInfo>
Find plugins by state
Sourcepub async fn set_state(
&self,
plugin_id: &str,
state: PluginState,
) -> Result<(), String>
pub async fn set_state( &self, plugin_id: &str, state: PluginState, ) -> Result<(), String>
Update plugin state
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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