#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};
use crate::Temperature;
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "serde", serde(crate = "renamed_serde"))]
#[derive(Debug, Clone)]
pub struct TemperatureSensor {
pub(crate) unit: String,
pub(crate) label: Option<String>,
pub(crate) current: Temperature,
pub(crate) max: Option<Temperature>,
pub(crate) crit: Option<Temperature>,
pub(crate) min: Option<Temperature>,
pub(crate) hwmon_id: Option<String>,
}
impl TemperatureSensor {
pub fn unit(&self) -> &str {
&self.unit
}
pub fn label(&self) -> Option<&str> {
self.label.as_deref()
}
pub fn current(&self) -> &Temperature {
&self.current
}
pub fn high(&self) -> Option<&Temperature> {
self.max.as_ref()
}
pub fn min(&self) -> Option<&Temperature> {
self.min.as_ref()
}
pub fn critical(&self) -> Option<&Temperature> {
self.crit.as_ref()
}
pub fn hwmon_id(&self) -> Option<&str> {
self.hwmon_id.as_deref()
}
}