#[macro_use] extern crate lazy_static; mod connection_check; mod connectors; use connectors::types::{Connector}; #[tokio::main] async fn main() -> Result<(), Box> { // let ip4 = connection_check::ipv4_info().await?; // println!("{:?}", ip4); let connector = connectors::macos::MacOSConnector {}; 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.human_name == Some("Wi-Fi".to_string())) .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(()) }