made audio and monitors slimes conditional behind features
This commit is contained in:
@@ -7,8 +7,8 @@ edition = "2024"
|
||||
chrono = { version = "0.4.44", features = ["serde"] }
|
||||
clap = { version = "4.6.0", features = ["derive"] }
|
||||
colored = "3.1.1"
|
||||
cpal = {version = "0.17.3", default-features = false}
|
||||
display-info = "0.5.9"
|
||||
cpal = { version = "0.17.3", optional = true }
|
||||
display-info = { version = "0.5.9", optional = true }
|
||||
mac_address = "1.1.8"
|
||||
num_cpus = "1.17.0"
|
||||
reqwest = { version = "0.13.2", features = ["blocking", "json"] }
|
||||
@@ -16,3 +16,8 @@ serde = { version = "1.0.228", features = ["derive"] }
|
||||
serde_json = "1.0.149"
|
||||
sysinfo = "0.38.4"
|
||||
uuid = { version = "1.22.0", features = ["v4"] }
|
||||
|
||||
[features]
|
||||
default = []
|
||||
audio = ["dep:cpal"]
|
||||
monitors = ["dep:display-info"]
|
||||
|
||||
@@ -42,7 +42,7 @@ pub trait Slime {
|
||||
}
|
||||
|
||||
pub fn get_all_slimes() -> Vec<Box<dyn Slime>> {
|
||||
vec![
|
||||
let mut slimes: Vec<Box<dyn Slime>> = vec![
|
||||
Box::new(OsSlime),
|
||||
Box::new(KernelSlime),
|
||||
Box::new(HostnameSlime),
|
||||
@@ -50,10 +50,16 @@ pub fn get_all_slimes() -> Vec<Box<dyn Slime>> {
|
||||
Box::new(CpuSlime),
|
||||
Box::new(GpuSlime),
|
||||
Box::new(RamSlime),
|
||||
Box::new(MonitorSlime),
|
||||
Box::new(NetworkSlime),
|
||||
Box::new(AudioSlime),
|
||||
]
|
||||
];
|
||||
|
||||
#[cfg(feature = "monitors")]
|
||||
slimes.push(Box::new(MonitorSlime));
|
||||
|
||||
#[cfg(feature = "audio")]
|
||||
slimes.push(Box::new(AudioSlime));
|
||||
|
||||
slimes
|
||||
}
|
||||
|
||||
/// OS name
|
||||
@@ -282,7 +288,9 @@ impl Slime for GpuSlime {
|
||||
}
|
||||
|
||||
/// Monitors
|
||||
#[cfg(feature = "monitors")]
|
||||
pub struct MonitorSlime;
|
||||
#[cfg(feature = "monitors")]
|
||||
impl Slime for MonitorSlime {
|
||||
fn label(&self) -> &str {
|
||||
"Monitors"
|
||||
@@ -396,7 +404,9 @@ impl Slime for NetworkSlime {
|
||||
}
|
||||
|
||||
/// Audio hardware
|
||||
#[cfg(feature = "audio")]
|
||||
pub struct AudioSlime;
|
||||
#[cfg(feature = "audio")]
|
||||
impl Slime for AudioSlime {
|
||||
fn label(&self) -> &str {
|
||||
"Audio"
|
||||
|
||||
Reference in New Issue
Block a user