pub struct PluginLoader { /* private fields */ }Expand description
Loads cdylib plugins from a directory.
Implementations§
Source§impl PluginLoader
impl PluginLoader
pub fn new(config: PluginLoaderConfig) -> Self
Sourcepub fn load_all(
&self,
log_ctx: *mut c_void,
log_callback: LogCallbackFn,
lifecycle_ctx: *mut c_void,
lifecycle_callback: LifecycleCallbackFn,
) -> Result<Vec<LoadedPlugin>>
pub fn load_all( &self, log_ctx: *mut c_void, log_callback: LogCallbackFn, lifecycle_ctx: *mut c_void, lifecycle_callback: LifecycleCallbackFn, ) -> Result<Vec<LoadedPlugin>>
Load all plugins matching the configured patterns.
Discovers candidate files, groups them by plugin base name, then loads exactly one cdylib per plugin. Non-cdylib artifacts (.rlib, .d, .rmeta) are silently ignored. An error is logged if multiple cdylib extensions exist for the same plugin (ambiguous).
Sourcepub fn load_plugin(
&self,
path: &Path,
log_ctx: *mut c_void,
log_callback: LogCallbackFn,
lifecycle_ctx: *mut c_void,
lifecycle_callback: LifecycleCallbackFn,
) -> Result<LoadedPlugin>
pub fn load_plugin( &self, path: &Path, log_ctx: *mut c_void, log_callback: LogCallbackFn, lifecycle_ctx: *mut c_void, lifecycle_callback: LifecycleCallbackFn, ) -> Result<LoadedPlugin>
Load a single plugin from a path.
Auto Trait Implementations§
impl Freeze for PluginLoader
impl RefUnwindSafe for PluginLoader
impl Send for PluginLoader
impl Sync for PluginLoader
impl Unpin for PluginLoader
impl UnsafeUnpin for PluginLoader
impl UnwindSafe 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