pub struct App { /* private fields */ }Expand description
Default application: a kernel plus ordered bundle registration.
§Examples
use serenade_kernel::{App, Application, BundleInterface, Environment, KernelPhase};
struct Demo;
impl BundleInterface for Demo {
fn name(&self) -> &'static str {
"demo"
}
}
let mut app = App::new(Environment::Dev);
app.register_bundle(Demo).expect("register");
app.boot().expect("boot");
assert_eq!(app.kernel().bundle_names(), vec!["demo"]);
assert_eq!(app.kernel().phase(), KernelPhase::Booted);Implementations§
Source§impl App
impl App
Sourcepub fn new(environment: Environment) -> Self
pub fn new(environment: Environment) -> Self
Creates an application in crate::KernelPhase::Created.
Sourcepub fn with_debug(self, debug: bool) -> Self
pub fn with_debug(self, debug: bool) -> Self
Overrides debug on the inner kernel. Call before Application::boot.
Sourcepub fn register_bundle(
&mut self,
bundle: impl BundleInterface + 'static,
) -> Result<(), KernelError>
pub fn register_bundle( &mut self, bundle: impl BundleInterface + 'static, ) -> Result<(), KernelError>
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for App
impl !UnwindSafe for App
impl Freeze for App
impl Send for App
impl Sync for App
impl Unpin for App
impl UnsafeUnpin for App
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more