use crate::charger::Charger;
use crate::gauge::Gauge;
use std::any::Any;
#[derive(Copy, Clone, Debug)]
pub enum EventType {
UDev,
Timer,
}
pub trait Plugin: Any + Send + Sync {
fn build(&self);
fn name(&self) -> &str {
std::any::type_name::<Self>()
}
fn process(&self, t: EventType, gauge: &dyn Gauge, charger: &dyn Charger);
}