Skip to main content

Plugin

Trait Plugin 

Source
pub trait Plugin:
    Any
    + Send
    + Sync {
    // Provided methods
    fn build<'life0, 'life1, 'async_trait>(
        &'life0 self,
        _app: &'life1 mut ApplicationBuilder,
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait { ... }
    fn immediately_build(&self, _app: &mut ApplicationBuilder) { ... }
    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 ApplicationBuilder, ) -> 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 ApplicationBuilder)

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 plugin names 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

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§