pub static INITIALISERS: DistributedSlice<[fn() -> Box<dyn Initialiser>]>Expand description
Link-time registry of initialiser factories.
use rtb_app::app::App;
use rtb_app::linkme::distributed_slice;
use rtb_cli::init::{Initialiser, INITIALISERS};
struct MyInitialiser;
#[async_trait::async_trait]
impl Initialiser for MyInitialiser {
fn name(&self) -> &'static str {
"my-initialiser"
}
async fn is_configured(&self, _app: &App) -> bool {
false
}
async fn configure(&self, _app: &App) -> miette::Result<()> {
Ok(())
}
}
#[distributed_slice(INITIALISERS)]
fn register() -> Box<dyn Initialiser> { Box::new(MyInitialiser) }