#[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> { // 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(()) }