Struct abscissa_core::component::registry::Registry
source · pub struct Registry<A: Application + 'static> { /* private fields */ }
Expand description
The component registry provides a system for runtime registration of application components which can interact with each other dynamically.
Components are sorted according to a dependency ordering, started in-order, and at application termination time, shut down in reverse order.
Implementations§
source§impl<A> Registry<A>where
A: Application + 'static,
impl<A> Registry<A>where
A: Application + 'static,
sourcepub fn register<I>(&mut self, components: I) -> Result<(), FrameworkError>where
I: IntoIterator<Item = Box<dyn Component<A>>>,
pub fn register<I>(&mut self, components: I) -> Result<(), FrameworkError>where
I: IntoIterator<Item = Box<dyn Component<A>>>,
Register components, determining their dependency order
sourcepub fn after_config(&mut self, config: &A::Cfg) -> Result<(), FrameworkError>
pub fn after_config(&mut self, config: &A::Cfg) -> Result<(), FrameworkError>
Callback fired by application when configuration has been loaded
sourcepub fn get(&self, handle: Handle) -> Option<&dyn Component<A>>
pub fn get(&self, handle: Handle) -> Option<&dyn Component<A>>
Get a component reference by its handle
sourcepub fn get_mut(
&mut self,
handle: Handle
) -> Option<&mut (dyn Component<A> + 'static)>
pub fn get_mut(
&mut self,
handle: Handle
) -> Option<&mut (dyn Component<A> + 'static)>
Get a mutable component reference by its handle
sourcepub fn get_handle_by_id(&self, id: Id) -> Option<Handle>
pub fn get_handle_by_id(&self, id: Id) -> Option<Handle>
Get a component’s handle by its ID
sourcepub fn get_handle(&self, component: &dyn Component<A>) -> Option<Handle>
pub fn get_handle(&self, component: &dyn Component<A>) -> Option<Handle>
Get the handle for the given component, if it’s registered
sourcepub fn get_mut_by_id(
&mut self,
id: Id
) -> Option<&mut (dyn Component<A> + 'static)>
pub fn get_mut_by_id(
&mut self,
id: Id
) -> Option<&mut (dyn Component<A> + 'static)>
Get a mutable component ref by its ID
sourcepub fn shutdown(&self, app: &A, shutdown: Shutdown) -> Result<(), FrameworkError>
pub fn shutdown(&self, app: &A, shutdown: Shutdown) -> Result<(), FrameworkError>
Shutdown components (in the reverse order they were started)
sourcepub fn get_downcast_ref<C>(&self) -> Option<&C>where
C: Component<A>,
pub fn get_downcast_ref<C>(&self) -> Option<&C>where
C: Component<A>,
Get a component reference by its type
sourcepub fn get_downcast_mut<C>(&mut self) -> Option<&mut C>where
C: Component<A>,
pub fn get_downcast_mut<C>(&mut self) -> Option<&mut C>where
C: Component<A>,
Get a mutable component reference by its type
Trait Implementations§
Auto Trait Implementations§
impl<A> !RefUnwindSafe for Registry<A>
impl<A> Send for Registry<A>
impl<A> Sync for Registry<A>
impl<A> Unpin for Registry<A>
impl<A> !UnwindSafe for Registry<A>
Blanket Implementations§
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>
§impl<D> OwoColorize for D
impl<D> OwoColorize for D
§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
§fn on_yellow<'a>(&'a self) -> BgColorDisplay<'a, Yellow, Self>
fn on_yellow<'a>(&'a self) -> BgColorDisplay<'a, Yellow, Self>
§fn magenta<'a>(&'a self) -> FgColorDisplay<'a, Magenta, Self>
fn magenta<'a>(&'a self) -> FgColorDisplay<'a, Magenta, Self>
§fn on_magenta<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>
fn on_magenta<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>
§fn on_purple<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>
fn on_purple<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>
§fn default_color<'a>(&'a self) -> FgColorDisplay<'a, Default, Self>
fn default_color<'a>(&'a self) -> FgColorDisplay<'a, Default, Self>
§fn on_default_color<'a>(&'a self) -> BgColorDisplay<'a, Default, Self>
fn on_default_color<'a>(&'a self) -> BgColorDisplay<'a, Default, Self>
§fn bright_black<'a>(&'a self) -> FgColorDisplay<'a, BrightBlack, Self>
fn bright_black<'a>(&'a self) -> FgColorDisplay<'a, BrightBlack, Self>
§fn on_bright_black<'a>(&'a self) -> BgColorDisplay<'a, BrightBlack, Self>
fn on_bright_black<'a>(&'a self) -> BgColorDisplay<'a, BrightBlack, Self>
§fn bright_red<'a>(&'a self) -> FgColorDisplay<'a, BrightRed, Self>
fn bright_red<'a>(&'a self) -> FgColorDisplay<'a, BrightRed, Self>
§fn on_bright_red<'a>(&'a self) -> BgColorDisplay<'a, BrightRed, Self>
fn on_bright_red<'a>(&'a self) -> BgColorDisplay<'a, BrightRed, Self>
§fn bright_green<'a>(&'a self) -> FgColorDisplay<'a, BrightGreen, Self>
fn bright_green<'a>(&'a self) -> FgColorDisplay<'a, BrightGreen, Self>
§fn on_bright_green<'a>(&'a self) -> BgColorDisplay<'a, BrightGreen, Self>
fn on_bright_green<'a>(&'a self) -> BgColorDisplay<'a, BrightGreen, Self>
§fn bright_yellow<'a>(&'a self) -> FgColorDisplay<'a, BrightYellow, Self>
fn bright_yellow<'a>(&'a self) -> FgColorDisplay<'a, BrightYellow, Self>
§fn on_bright_yellow<'a>(&'a self) -> BgColorDisplay<'a, BrightYellow, Self>
fn on_bright_yellow<'a>(&'a self) -> BgColorDisplay<'a, BrightYellow, Self>
§fn bright_blue<'a>(&'a self) -> FgColorDisplay<'a, BrightBlue, Self>
fn bright_blue<'a>(&'a self) -> FgColorDisplay<'a, BrightBlue, Self>
§fn on_bright_blue<'a>(&'a self) -> BgColorDisplay<'a, BrightBlue, Self>
fn on_bright_blue<'a>(&'a self) -> BgColorDisplay<'a, BrightBlue, Self>
§fn bright_magenta<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>
fn bright_magenta<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>
§fn on_bright_magenta<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>
fn on_bright_magenta<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>
§fn bright_purple<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>
fn bright_purple<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>
§fn on_bright_purple<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>
fn on_bright_purple<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>
§fn bright_cyan<'a>(&'a self) -> FgColorDisplay<'a, BrightCyan, Self>
fn bright_cyan<'a>(&'a self) -> FgColorDisplay<'a, BrightCyan, Self>
§fn on_bright_cyan<'a>(&'a self) -> BgColorDisplay<'a, BrightCyan, Self>
fn on_bright_cyan<'a>(&'a self) -> BgColorDisplay<'a, BrightCyan, Self>
§fn bright_white<'a>(&'a self) -> FgColorDisplay<'a, BrightWhite, Self>
fn bright_white<'a>(&'a self) -> FgColorDisplay<'a, BrightWhite, Self>
§fn on_bright_white<'a>(&'a self) -> BgColorDisplay<'a, BrightWhite, Self>
fn on_bright_white<'a>(&'a self) -> BgColorDisplay<'a, BrightWhite, Self>
§fn blink_fast<'a>(&'a self) -> BlinkFastDisplay<'a, Self>
fn blink_fast<'a>(&'a self) -> BlinkFastDisplay<'a, Self>
§fn strikethrough<'a>(&'a self) -> StrikeThroughDisplay<'a, Self>
fn strikethrough<'a>(&'a self) -> StrikeThroughDisplay<'a, Self>
§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg
or
a color-specific method, such as OwoColorize::green
, Read more§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg
or
a color-specific method, such as OwoColorize::on_yellow
, Read more