librefi_rs/src/connectors/types.rs

31 lines
792 B
Rust
Raw Normal View History

2022-01-07 20:28:09 +01:00
pub trait Connects {
fn connect_to_network(
&self,
iface: &NetworkInterface,
net: &Network,
psk: Option<&str>,
) -> Result<bool, String>;
}
pub trait ListsNetworks {
fn list_networks(&self, iface: &NetworkInterface) -> Result<Vec<Network>, String>;
2022-01-07 20:28:09 +01:00
}
pub trait ListsNetworkInterfaces {
2021-12-26 13:55:29 +01:00
fn list_network_interfaces(&self) -> Result<Vec<NetworkInterface>, String>;
}
2022-01-07 20:28:09 +01:00
pub trait Connector: Connects + ListsNetworks + ListsNetworkInterfaces {}
2021-12-26 13:55:29 +01:00
#[derive(Debug, Default)]
pub struct Network {
pub ssid: String,
pub bssid: Option<String>,
pub channel: Option<u8>,
pub rssi: Option<i8>,
}
#[derive(Debug, Default)]
pub struct NetworkInterface {
pub enabled: bool,
pub machine_name: String,
pub human_name: Option<String>,
}