use std::collections::HashMap;
use crate::wire::BayUid;
#[derive(Clone, Debug, Default, PartialEq, Eq)]
pub(crate) struct BayLink {
pub(crate) linked_serial: String,
pub(crate) linked_bay: String,
pub(crate) features: u32,
}
impl BayLink {
pub(crate) fn is_configured(&self) -> bool {
!self.linked_serial.is_empty() && !self.linked_bay.is_empty()
}
}
#[derive(Clone, Debug, Default)]
pub(crate) struct BayLinks {
links: HashMap<BayUid, BayLink>,
}
impl BayLinks {
pub(crate) fn get(&self, key: BayUid) -> Option<&BayLink> {
self.links.get(&key)
}
pub(crate) fn insert(&mut self, key: BayUid, link: BayLink) {
self.links.insert(key, link);
}
}