pub struct PluginManager { /* private fields */ }Implementations§
Source§impl PluginManager
impl PluginManager
pub fn new() -> Self
pub fn enable_sandbox(&mut self, enabled: bool)
pub fn set_sandbox_config(&mut self, config: SandboxConfig)
pub fn load_plugin<P: AsRef<Path>>( &mut self, path: P, config: HashMap<String, String>, ) -> Result<PluginMetadata>
pub fn load_plugins_from_dir<P: AsRef<Path>>( &mut self, dir: P, configs: HashMap<String, HashMap<String, String>>, ) -> Result<()>
pub fn unload_plugin(&mut self, name: &str) -> Result<PluginMetadata>
pub fn unload_all(&mut self)
Sourcepub fn broadcast_event(&self, event: &PluginEvent) -> Vec<PluginResponse>
pub fn broadcast_event(&self, event: &PluginEvent) -> Vec<PluginResponse>
Deliver an event to every loaded plugin’s handle_event and collect the
non-None responses for the caller to act on. Each plugin is locked only
for the duration of its handler.
pub fn process_packet(&self, packet: &PacketData) -> PacketHookResult
pub fn loaded_plugins(&self) -> Vec<(String, PluginMetadata)>
pub fn get_plugin_metadata(&self, name: &str) -> Option<PluginMetadata>
pub fn is_loaded(&self, name: &str) -> bool
pub fn get_packet_hooks(&self) -> Vec<HookInfo>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PluginManager
impl RefUnwindSafe for PluginManager
impl Send for PluginManager
impl Sync for PluginManager
impl Unpin for PluginManager
impl UnsafeUnpin for PluginManager
impl UnwindSafe for PluginManager
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