Trait Plugin

Source
pub trait Plugin:
    Any
    + Send
    + Sync {
    // Provided methods
    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 { ... }
    fn immediately_build(&self, _app: &mut AppBuilder) { ... }
    fn name(&self) -> &str { ... }
    fn dependencies(&self) -> Vec<&str> { ... }
    fn immediately(&self) -> bool { ... }
}
Expand description

Defined plugin interface

Provided 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.

Source

fn immediately_build(&self, _app: &mut AppBuilder)

Configures the App to which this plugin is added. The immediately plugin will not be added to the registry, and the plugin cannot obtain components registered in the registry.

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.

Source

fn immediately(&self) -> bool

Whether the plugin should be built immediately when added

Implementors§