use std::any::Any;
use crate::{charger::ChargerBase, gauge::GaugeBase};
#[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 GaugeBase, charger: &dyn ChargerBase);
}