mirror of https://github.com/Trivernis/bromine.git
Add namespaces from structs and restructure exports
Signed-off-by: trivernis <trivernis@protonmail.com>pull/10/head
parent
b1f0ad5131
commit
21d8f7afcd
@ -1,2 +1,3 @@
|
||||
pub mod builder;
|
||||
pub mod namespace;
|
||||
pub mod provider_trait;
|
||||
|
@ -0,0 +1,17 @@
|
||||
use crate::events::event_handler::EventHandler;
|
||||
use crate::namespace::Namespace;
|
||||
|
||||
pub trait NamespaceProvider {
|
||||
fn name() -> String;
|
||||
fn register(handler: &mut EventHandler);
|
||||
}
|
||||
|
||||
impl Namespace {
|
||||
pub fn from_provider<N: NamespaceProvider>() -> Self {
|
||||
let name = N::name();
|
||||
let mut handler = EventHandler::new();
|
||||
N::register(&mut handler);
|
||||
|
||||
Self::new(name, handler)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue