use super::polling::SystemPoller;
pub struct SystemData {
pub info: SystemInformation,
pub disks: Vec<DiskInformation>,
}
pub struct SystemInformation {
pub os: String,
pub os_version: String,
pub kernel_version: String,
pub host_name: String,
pub logical_processors: usize,
pub physical_processors: usize,
pub total_memory: u64,
}
pub struct DiskInformation {
pub name: String,
pub kind: String,
pub available_space: u64,
pub total_space: u64,
}
impl SystemData {
pub fn new_from_poll() -> Self {
let mut s = SystemPoller::new();
SystemData {
info: s.get_system_info(),
disks: s.get_disk_info(),
}
}
}