[−][src]Trait abscissa_core::component::Component
Application components.
Components are Abscissa's primary extension mechanism, and are aware of the application lifecycle. They are owned by the application as boxed trait objects in a runtime type registry which is aware of a dependency ordering and can (potentially in the future) support runtime reinitialization.
During application initialization, callbacks are sent to all components upon events like application configuration being loaded.
Additionally, they receive a callback prior to application shutdown.
Required methods
Loading content...Provided methods
fn dependencies(&self) -> Iter<Name>
Names of the components this components depends on
fn after_config(&mut self, config: &A::Cfg) -> Result<(), FrameworkError>
Lifecycle event called when application configuration should be loaded if it were possible.
fn before_shutdown(&self, kind: Shutdown) -> Result<(), FrameworkError>
Perform any tasks which should occur before the app exits
Implementors
impl<A> Component<A> for LoggingComponent where
A: Application,
[src]
A: Application,
fn name(&self) -> Name
[src]
Name of this component
fn version(&self) -> Version
[src]
Version of this component
fn after_config(&mut self, _config: &A::Cfg) -> Result<(), FrameworkError>
[src]
Initialize this component at the time the framework boots
impl<A> Component<A> for TerminalComponent where
A: Application,
[src]
A: Application,