pub trait Wifi {
    type Error: Debug;
    // Required methods
    fn get_capabilities(&self) -> Result<EnumSet<Capability>, Self::Error>;
    fn get_configuration(&self) -> Result<Configuration, Self::Error>;
    fn set_configuration(
        &mut self,
        conf: &Configuration,
    ) -> Result<(), Self::Error>;
    fn start(&mut self) -> Result<(), Self::Error>;
    fn stop(&mut self) -> Result<(), Self::Error>;
    fn connect(&mut self) -> Result<(), Self::Error>;
    fn disconnect(&mut self) -> Result<(), Self::Error>;
    fn is_started(&self) -> Result<bool, Self::Error>;
    fn is_connected(&self) -> Result<bool, Self::Error>;
    fn scan_n<const N: usize>(
        &mut self,
    ) -> Result<(Vec<AccessPointInfo, N>, usize), Self::Error>;
    fn scan(&mut self) -> Result<Vec<AccessPointInfo>, Self::Error>;
}Required Associated Types§
Required Methods§
fn get_capabilities(&self) -> Result<EnumSet<Capability>, Self::Error>
fn get_configuration(&self) -> Result<Configuration, Self::Error>
fn set_configuration(&mut self, conf: &Configuration) -> Result<(), Self::Error>
fn start(&mut self) -> Result<(), Self::Error>
fn stop(&mut self) -> Result<(), Self::Error>
fn connect(&mut self) -> Result<(), Self::Error>
fn disconnect(&mut self) -> Result<(), Self::Error>
fn is_started(&self) -> Result<bool, Self::Error>
fn is_connected(&self) -> Result<bool, Self::Error>
fn scan_n<const N: usize>( &mut self, ) -> Result<(Vec<AccessPointInfo, N>, usize), Self::Error>
fn scan(&mut self) -> Result<Vec<AccessPointInfo>, Self::Error>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.