Skip to main content

system_utils/
error.rs

1#![allow(unused_imports)]
2use crate::prelude::DynError;
3use macron::{Display, Error, From};
4
5/// The audio error
6#[cfg(feature = "audio")]
7#[derive(Debug, Display, Error, From)]
8pub enum AudioError {
9    #[display(fmt = "Audio devices not found")]
10    DevicesNotFound,
11
12    #[from(skip)]
13    #[display(fmt = "Set volume failed: {0}")]
14    SetVolume(DynError),
15
16    #[from(skip)]
17    #[display(fmt = "Get volume failed: {0}")]
18    GetVolume(DynError),
19
20    #[from(skip)]
21    #[display(fmt = "Get mute status failed: {0}")]
22    GetMute(DynError),
23
24    #[from(skip)]
25    #[display(fmt = "Get mute volume failed: {0}")]
26    SetMute(DynError),
27
28    #[display(fmt = "Unsupported operating system")]
29    UnsupportedOS,
30}
31
32#[cfg(feature = "power")]
33#[derive(Debug, Display, Error, From)]
34pub enum PowerError {
35    #[display(fmt = "Unsupported operating system")]
36    UnsupportedOS,
37}
38
39#[cfg(feature = "theme")]
40#[derive(Debug, Display, Error, From)]
41pub enum ThemeError {
42    #[cfg(target_os = "linux")]
43    #[display(fmt = "Failed to execute gsettings: {0}")]
44    GsettingsExecute(std::io::Error),
45
46    #[cfg(target_os = "linux")]
47    #[display(fmt = "gsettings exited with non-zero status")]
48    GsettingsExitStatus,
49
50    #[cfg(target_os = "macos")]
51    #[display(fmt = "Failed to execute osascript: {0}")]
52    OsascriptExecute(std::io::Error),
53
54    #[cfg(target_os = "macos")]
55    #[display(fmt = "osascript exited with non-zero status")]
56    OsascriptExitStatus,
57
58    #[display(fmt = "Unsupported operating system")]
59    UnsupportedOS,
60}