pub struct PluginRegistry { /* private fields */ }Expand description
Central registry of plugins. The broker uses this to dispatch / commands.
Implementations§
Source§impl PluginRegistry
impl PluginRegistry
pub fn new() -> PluginRegistry
Sourcepub fn register(&mut self, plugin: Box<dyn Plugin>) -> Result<(), Error>
pub fn register(&mut self, plugin: Box<dyn Plugin>) -> Result<(), Error>
Register a plugin. Returns an error if:
- any command name collides with a built-in or another plugin’s command
api_version()exceeds the currentPLUGIN_API_VERSIONmin_protocol()is newer than the runningPROTOCOL_VERSION
Sourcepub fn resolve(&self, command: &str) -> Option<&dyn Plugin>
pub fn resolve(&self, command: &str) -> Option<&dyn Plugin>
Look up which plugin handles a command name.
Sourcepub fn all_commands(&self) -> Vec<CommandInfo>
pub fn all_commands(&self) -> Vec<CommandInfo>
All registered commands across all plugins.
Sourcepub fn notify_join(&self, user: &str)
pub fn notify_join(&self, user: &str)
Notify all registered plugins that a user has joined the room.
Calls Plugin::on_user_join on every plugin in registration order.
Sourcepub fn notify_leave(&self, user: &str)
pub fn notify_leave(&self, user: &str)
Notify all registered plugins that a user has left the room.
Calls Plugin::on_user_leave on every plugin in registration order.
Trait Implementations§
Source§impl Default for PluginRegistry
impl Default for PluginRegistry
Source§fn default() -> PluginRegistry
fn default() -> PluginRegistry
Returns the “default value” for a type. Read more
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