48 lines
1.1 KiB
Rust
48 lines
1.1 KiB
Rust
#[macro_use]
|
|
extern crate lazy_static;
|
|
mod connection_check;
|
|
mod connectors;
|
|
use crate::connectors::types::{Connects, ListsNetworkInterfaces, ListsNetworks};
|
|
|
|
#[tokio::main]
|
|
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
// let ip4 = connection_check::ipv4_info().await?;
|
|
// println!("{:?}", ip4);
|
|
|
|
let connector = connectors::networkmanager::NetworkManagerConnector {};
|
|
|
|
let ifaces = connector
|
|
.list_network_interfaces()
|
|
.expect("network interface listing errored");
|
|
|
|
for iface in &ifaces {
|
|
println!("{:?}", iface);
|
|
}
|
|
|
|
let iface = ifaces
|
|
.into_iter()
|
|
.find(|f| f.machine_name == "wlp2s0")
|
|
.expect("Wi-Fi interface not found");
|
|
|
|
let networks = connector
|
|
.list_networks(&iface)
|
|
.expect("network listing errored");
|
|
|
|
for net in &networks {
|
|
println!("{:?}", net);
|
|
}
|
|
|
|
/*
|
|
let network = networks
|
|
.into_iter()
|
|
.find(|net| net.ssid == "test")
|
|
.expect("network not found");
|
|
|
|
connector
|
|
.connect_to_network(&iface, &network, None)
|
|
.expect("could not connect to network");
|
|
*/
|
|
|
|
Ok(())
|
|
}
|