use hippox_drivers::DriverSignal;
use once_cell::sync::Lazy;
use std::collections::HashMap;
use std::sync::RwLock;
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum TaskSignalStatus {
Pause,
Stop,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct TaskSignal {
status: TaskSignalStatus,
msg: Option<String>,
}
pub(crate) static TASK_SIGNAL_BUS: Lazy<RwLock<HashMap<String, TaskSignal>>> =
Lazy::new(|| RwLock::new(HashMap::new()));
pub(crate) static TASK_STEP_SIGNAL_BUS: Lazy<
RwLock<HashMap<String, HashMap<usize, DriverSignal>>>,
> = Lazy::new(|| RwLock::new(HashMap::new()));