Skip to main content

Plugin

Trait Plugin 

Source
pub trait Plugin:
    Any
    + Send
    + Sync {
    // Required method
    fn build<'life0, 'life1, 'async_trait>(
        &'life0 self,
        app: &'life1 mut AppBuilder,
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;

    // Provided methods
    fn name(&self) -> &str { ... }
    fn dependencies(&self) -> Vec<&str> { ... }
}

Required Methods§

Source

fn build<'life0, 'life1, 'async_trait>( &'life0 self, app: &'life1 mut AppBuilder, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Configures the App to which this plugin is added.

Provided Methods§

Source

fn name(&self) -> &str

Configures a name for the Plugin which is primarily used for checking plugin uniqueness and debugging.

Source

fn dependencies(&self) -> Vec<&str>

A list of plugins to depend on. The plugin will be built after the plugins in this list.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§