bromine 0.22.1

A flexible ipc protocol (previously rmp-ipc)
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::events::event_handler::EventHandler;
use crate::namespace::Namespace;

pub trait NamespaceProvider {
    fn name() -> &'static str;
    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)
    }
}