Skip to main content

Extension

Trait Extension 

Source
pub trait Extension: Send + Sync {
    // Required methods
    fn info(&self) -> ExtensionInfo;
    fn as_any(&self) -> &dyn Any;
    fn as_any_mut(&mut self) -> &mut dyn Any;

    // Provided methods
    fn init(&mut self) -> KernelResult<()> { ... }
    fn shutdown(&mut self) -> KernelResult<()> { ... }
}
Expand description

Base trait for all extensions

Required Methods§

Source

fn info(&self) -> ExtensionInfo

Get extension information

Source

fn as_any(&self) -> &dyn Any

Cast to Any for downcasting

Source

fn as_any_mut(&mut self) -> &mut dyn Any

Cast to mutable Any for downcasting

Provided Methods§

Source

fn init(&mut self) -> KernelResult<()>

Initialize the extension

Source

fn shutdown(&mut self) -> KernelResult<()>

Shutdown the extension gracefully

Implementors§