2 个版本
使用旧的 Rust 2015
0.0.2 | 2015年1月25日 |
---|---|
0.0.1 | 2015年1月25日 |
#20 在 #dispatcher
8KB
136 行
事件调度器
一个简单的库,用于注册特定事件的监听器,灵感来源于 rust-emitter。
用法示例
extern crate event_dispatcher;
use event_dispatcher::{Event, Listener, Dispatcher, Dispatchable};
struct TestEvent {
stopped: bool,
data: String
}
impl TestEvent {
pub fn new(event_data: String) -> TestEvent {
TestEvent {
stopped: false,
data: event_data
}
}
}
impl Event<TestEvent> for TestEvent {
fn is_propagation_stopped(&self) -> bool{
self.stopped
}
fn stop_propagation(&mut self){
self.stopped = true;
}
}
// the listener
fn event_test(event: &TestEvent) {
println!("called \"event_test\"");
}
fn main() {
let event = TestEvent::new("my_event".to_string());
let mut dispatcher = Dispatcher::new();
dispatcher.add_listener(&event, Listener::new(my_event_test));
dispatcher.dispatch(&event);
}