pub trait DeviceControl<T> {
// Required methods
fn get_default_device(&mut self) -> Result<T, ControllerError>;
fn set_default_device(
&mut self,
name: &str,
) -> Result<bool, ControllerError>;
fn list_devices(&mut self) -> Result<Vec<T>, ControllerError>;
fn get_device_by_index(&mut self, index: u32) -> Result<T, ControllerError>;
fn get_device_by_name(&mut self, name: &str) -> Result<T, ControllerError>;
fn set_device_volume_by_index(
&mut self,
index: u32,
volume: &ChannelVolumes,
);
fn set_device_volume_by_name(&mut self, name: &str, volume: &ChannelVolumes);
fn set_device_mute_by_index(&mut self, index: u32, mute: bool);
fn set_device_mute_by_name(&mut self, name: &str, mute: bool);
fn increase_device_volume_by_percent(&mut self, index: u32, delta: f64);
fn decrease_device_volume_by_percent(&mut self, index: u32, delta: f64);
}Required Methods§
fn get_default_device(&mut self) -> Result<T, ControllerError>
fn set_default_device(&mut self, name: &str) -> Result<bool, ControllerError>
fn list_devices(&mut self) -> Result<Vec<T>, ControllerError>
fn get_device_by_index(&mut self, index: u32) -> Result<T, ControllerError>
fn get_device_by_name(&mut self, name: &str) -> Result<T, ControllerError>
fn set_device_volume_by_index(&mut self, index: u32, volume: &ChannelVolumes)
fn set_device_volume_by_name(&mut self, name: &str, volume: &ChannelVolumes)
fn set_device_mute_by_index(&mut self, index: u32, mute: bool)
fn set_device_mute_by_name(&mut self, name: &str, mute: bool)
fn increase_device_volume_by_percent(&mut self, index: u32, delta: f64)
fn decrease_device_volume_by_percent(&mut self, index: u32, delta: f64)
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".