Skip to main content

EventListener

Trait EventListener 

Source
pub trait EventListener<T: Event>: Send + Sync {
    // Required method
    fn on_event(&self, event: &T);
}
Expand description

Event listener trait

Implement this trait to handle specific event types. The listener will be called whenever an event of the specified type is published.

§Examples

use verdure_context::{Event, EventListener};
use std::any::Any;

#[derive(Debug, Clone)]
struct MyEvent {
    data: String,
}

impl Event for MyEvent {
    fn name(&self) -> &'static str {
        "MyEvent"
    }
     
    fn as_any(&self) -> &dyn Any {
        self
    }
     
    fn into_any(self: Box<Self>) -> Box<dyn Any> {
        self
    }
}

struct MyEventListener;

impl EventListener<MyEvent> for MyEventListener {
    fn on_event(&self, event: &MyEvent) {
        println!("Received event with data: {}", event.data);
    }
}

Required Methods§

Source

fn on_event(&self, event: &T)

Called when an event of type T is published

§Arguments
  • event - The event instance

Implementors§