1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
use crate::events::event_handler::EventHandler;
use std::sync::Arc;
#[derive(Clone)]
pub struct Namespace {
    name: String,
    pub(crate) handler: Arc<EventHandler>,
}
impl Namespace {
    /// Creates a new namespace with an event handler to register event callbacks on
    pub fn new<S: ToString>(name: S, handler: EventHandler) -> Self {
        Self {
            name: name.to_string(),
            handler: Arc::new(handler),
        }
    }
    pub fn name(&self) -> &String {
        &self.name
    }
}