1use super::models::MicrophoneSimModel;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5pub struct MicrophoneSimConfig {
6 #[serde(default)]
7 pub enabled: bool,
8 #[serde(default)]
9 pub model: MicrophoneSimModel,
10}
11
12impl Default for MicrophoneSimConfig {
13 fn default() -> Self {
14 Self {
15 enabled: false,
16 model: MicrophoneSimModel::Off,
17 }
18 }
19}
20
21impl MicrophoneSimConfig {
22 pub fn active_model(&self) -> Option<MicrophoneSimModel> {
23 if self.enabled && self.model != MicrophoneSimModel::Off {
24 Some(self.model)
25 } else {
26 None
27 }
28 }
29}