Hey_listen
is a collection of event-dispatchers aiming to suit all needs!
Covering synchronous, parallel, and sync-prioritised dispatching to Closures, Enums, Structs, and every other type supporting trait
-implementation.
View the examples
-folder on how to use each dispatcher.
Everyone is welcome to contribute, check out the CONTRIBUTING.md
for further guidance.
Here is a quick example on how to use the event-dispatcher:
```rust extern crate heylisten; extern crate parkinglot;
use heylisten::{EventDispatcher, Listener, SyncDispatcherRequest}; use std::sync::Arc; use parkinglot::Mutex;
enum Event { EventVariant, }
struct ListenerStruct {}
impl Listener
None
}
}
fn main() {
let listener = Arc::new(Mutex::new(ListenerStruct {}));
let mut dispatcher: EventDispatcher
dispatcher.add_listener(Event::EventVariant, &listener);
dispatcher.dispatch_event(&Event::EventVariant);
}
```
Add this to your Cargo.toml
:
toml
[dependencies]
hey_listen = "0.2.0"
parking_lot = "^0.5.4"
and this to your crate's root:
rust,ignore
extern crate hey_listen;
extern crate parking_lot;