2017-09-03 13:06:50 -07:00
|
|
|
use interface::*;
|
|
|
|
|
|
|
|
pub struct Simple {
|
|
|
|
emit: SimpleEmitter,
|
|
|
|
message: String,
|
|
|
|
}
|
|
|
|
|
|
|
|
impl SimpleTrait for Simple {
|
|
|
|
fn new(emit: SimpleEmitter) -> Simple {
|
|
|
|
Simple {
|
|
|
|
emit: emit,
|
|
|
|
message: String::new(),
|
|
|
|
}
|
|
|
|
}
|
2018-10-25 15:32:02 -07:00
|
|
|
fn emit(&mut self) -> &mut SimpleEmitter {
|
|
|
|
&mut self.emit
|
2017-09-03 13:06:50 -07:00
|
|
|
}
|
|
|
|
fn message(&self) -> &str {
|
|
|
|
"Hello World!"
|
|
|
|
}
|
|
|
|
fn set_message(&mut self, value: String) {
|
|
|
|
self.message = value;
|
|
|
|
self.emit.message_changed();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|