//! Access the native system. use crate::futures::futures::channel::oneshot; /// An operation to be performed on the system. #[derive(Debug)] pub enum Action { /// Query system information and produce `T` with the result. QueryInformation(oneshot::Sender), } /// Contains information about the system (e.g. system name, processor, memory, graphics adapter). #[derive(Clone, Debug)] pub struct Information { /// The operating system name pub system_name: Option, /// Operating system kernel version pub system_kernel: Option, /// Long operating system version /// /// Examples: /// - MacOS 10.15 Catalina /// - Windows 10 Pro /// - Ubuntu 20.04 LTS (Focal Fossa) pub system_version: Option, /// Short operating system version number pub system_short_version: Option, /// Detailed processor model information pub cpu_brand: String, /// The number of physical cores on the processor pub cpu_cores: Option, /// Total RAM size, in bytes pub memory_total: u64, /// Memory used by this process, in bytes pub memory_used: Option, /// Underlying graphics backend for rendering pub graphics_backend: String, /// Model information for the active graphics adapter pub graphics_adapter: String, }