librefi_rs/src/main.rs

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(())
}