pub struct PluginLoader { /* private fields */ }Expand description
Plugin loader for dynamic libraries
Implementations§
Source§impl PluginLoader
impl PluginLoader
Sourcepub fn add_search_path(&mut self, path: impl Into<PathBuf>)
pub fn add_search_path(&mut self, path: impl Into<PathBuf>)
Add a search path
Sourcepub fn load_plugin(
&mut self,
path: &Path,
) -> PluginResult<Arc<RwLock<Box<dyn ToolPlugin>>>>
pub fn load_plugin( &mut self, path: &Path, ) -> PluginResult<Arc<RwLock<Box<dyn ToolPlugin>>>>
Load a plugin from a file
Sourcepub fn unload_plugin(&mut self, plugin_id: &str) -> PluginResult<()>
pub fn unload_plugin(&mut self, plugin_id: &str) -> PluginResult<()>
Unload a plugin
Sourcepub fn reload_plugin(
&mut self,
plugin_id: &str,
) -> PluginResult<Arc<RwLock<Box<dyn ToolPlugin>>>>
pub fn reload_plugin( &mut self, plugin_id: &str, ) -> PluginResult<Arc<RwLock<Box<dyn ToolPlugin>>>>
Reload a plugin - returns the existing instance if reload is not needed
Sourcepub fn find_plugin(&self, name: &str) -> Option<PathBuf>
pub fn find_plugin(&self, name: &str) -> Option<PathBuf>
Find a plugin file by name
Sourcepub fn get_plugin(
&self,
plugin_id: &str,
) -> Option<Arc<RwLock<Box<dyn ToolPlugin>>>>
pub fn get_plugin( &self, plugin_id: &str, ) -> Option<Arc<RwLock<Box<dyn ToolPlugin>>>>
Get a plugin by ID
Sourcepub fn list_plugins(&self) -> Vec<PluginMetadata>
pub fn list_plugins(&self) -> Vec<PluginMetadata>
List all loaded plugins
Sourcepub fn get_plugin_by_path(
&self,
path: &str,
) -> Option<Arc<RwLock<Box<dyn ToolPlugin>>>>
pub fn get_plugin_by_path( &self, path: &str, ) -> Option<Arc<RwLock<Box<dyn ToolPlugin>>>>
Get plugin by path
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for PluginLoader
impl !UnwindSafe for PluginLoader
impl Freeze for PluginLoader
impl Send for PluginLoader
impl Sync for PluginLoader
impl Unpin for PluginLoader
impl UnsafeUnpin for PluginLoader
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].