Crate hey_listen [−] [src]
hey_listen is an event dispatcher for types.
Usage
Add this to your Cargo.toml
:
[dependencies]
hey_listen = "0.1"
parking_lot = "^0.5"
and this to your crate's root:
⚠Be careful when using this code, it's not being tested!
extern crate hey_listen; extern crate parking_lot;
Example
Here is a quick example on how to use the event-dispatcher:
extern crate hey_listen; extern crate parking_lot; use hey_listen::Listener; use hey_listen::EventDispatcher; use std::sync::Arc; use parking_lot::Mutex; #[derive(Clone, Eq, Hash, PartialEq)] enum EventEnum { EventVariant, } struct ListenerStruct {} impl Listener<EventEnum> for ListenerStruct { fn on_event(&mut self, event: &EventEnum) { println!("I'm listening! :)"); } } fn main() { let listener = Arc::new(Mutex::new(ListenerStruct {})); let mut dispatcher: EventDispatcher<EventEnum> = EventDispatcher::new(); dispatcher.add_listener(EventEnum::EventVariant, &listener); }
Structs
EventDispatcher |
Owns a map of all listened event-variants and
|
Traits
Listener |
Every event-receiver needs to implement this trait
in order to receive dispatched events.
|