pub struct NetworkManager { /* private fields */ }
Implementations§
Source§impl NetworkManager
impl NetworkManager
Sourcepub fn new() -> Result<Self, Error>
pub fn new() -> Result<Self, Error>
Examples found in repository?
examples/testing.rs (line 5)
4fn main() -> Result<(), Error> {
5 let nm = NetworkManager::new()?;
6
7 for dev in nm.get_devices()? {
8 match dev {
9 Device::Ethernet(x) => {
10 println!("Is autoconnected: {:?}", x.autoconnect()?);
11 println!("Speed: {:?}", x.speed()?);
12 println!("S390 Subchannels: {:?}", x.s390_subchannels()?);
13 println!("Carrier: {:?}", x.carrier()?);
14 let conf = x.ip4_config()?;
15 println!("Gateway: {:?}", conf.gateway()?);
16 let con = x.active_connection()?;
17 println!("Connection id: {}", con.id()?);
18 }
19 Device::WiFi(x) => {
20 println!("Bitrate: {:?}", x.bitrate()?);
21 x.request_scan(std::collections::HashMap::new())?;
22 for ap in x.get_all_access_points()? {
23 println!("SSID: {:?}", ap.ssid()?);
24 }
25 }
26 _ => {}
27 }
28 }
29
30 let eth0 = nm.get_device_by_ip_iface("eth0")?;
31 match eth0 {
32 Device::Ethernet(x) => {
33 // NetworkManager >= 1.24
34 // println!("Hardware Address: {:?}", Any::hw_address(&x)?);
35
36 // NetworkManager < 1.24
37 // println!("Hardware Address: {:?}", Wired::hw_address(&x)?);
38
39 println!("Speed: {:?}", x.speed()?);
40 }
41 _ => {}
42 }
43
44 Ok(())
45}
pub fn new_with_dbus(dbus_connection: Connection) -> Self
Sourcepub fn reload(&self, flags: ReloadFlag) -> Result<(), Error>
pub fn reload(&self, flags: ReloadFlag) -> Result<(), Error>
Reloads NetworkManager by the given scope
Sourcepub fn get_devices(&self) -> Result<Vec<Device>, Error>
pub fn get_devices(&self) -> Result<Vec<Device>, Error>
Returns only realized network devices
Examples found in repository?
examples/testing.rs (line 7)
4fn main() -> Result<(), Error> {
5 let nm = NetworkManager::new()?;
6
7 for dev in nm.get_devices()? {
8 match dev {
9 Device::Ethernet(x) => {
10 println!("Is autoconnected: {:?}", x.autoconnect()?);
11 println!("Speed: {:?}", x.speed()?);
12 println!("S390 Subchannels: {:?}", x.s390_subchannels()?);
13 println!("Carrier: {:?}", x.carrier()?);
14 let conf = x.ip4_config()?;
15 println!("Gateway: {:?}", conf.gateway()?);
16 let con = x.active_connection()?;
17 println!("Connection id: {}", con.id()?);
18 }
19 Device::WiFi(x) => {
20 println!("Bitrate: {:?}", x.bitrate()?);
21 x.request_scan(std::collections::HashMap::new())?;
22 for ap in x.get_all_access_points()? {
23 println!("SSID: {:?}", ap.ssid()?);
24 }
25 }
26 _ => {}
27 }
28 }
29
30 let eth0 = nm.get_device_by_ip_iface("eth0")?;
31 match eth0 {
32 Device::Ethernet(x) => {
33 // NetworkManager >= 1.24
34 // println!("Hardware Address: {:?}", Any::hw_address(&x)?);
35
36 // NetworkManager < 1.24
37 // println!("Hardware Address: {:?}", Wired::hw_address(&x)?);
38
39 println!("Speed: {:?}", x.speed()?);
40 }
41 _ => {}
42 }
43
44 Ok(())
45}
Sourcepub fn get_device_by_ip_iface(&self, iface: &str) -> Result<Device, Error>
pub fn get_device_by_ip_iface(&self, iface: &str) -> Result<Device, Error>
Examples found in repository?
examples/testing.rs (line 30)
4fn main() -> Result<(), Error> {
5 let nm = NetworkManager::new()?;
6
7 for dev in nm.get_devices()? {
8 match dev {
9 Device::Ethernet(x) => {
10 println!("Is autoconnected: {:?}", x.autoconnect()?);
11 println!("Speed: {:?}", x.speed()?);
12 println!("S390 Subchannels: {:?}", x.s390_subchannels()?);
13 println!("Carrier: {:?}", x.carrier()?);
14 let conf = x.ip4_config()?;
15 println!("Gateway: {:?}", conf.gateway()?);
16 let con = x.active_connection()?;
17 println!("Connection id: {}", con.id()?);
18 }
19 Device::WiFi(x) => {
20 println!("Bitrate: {:?}", x.bitrate()?);
21 x.request_scan(std::collections::HashMap::new())?;
22 for ap in x.get_all_access_points()? {
23 println!("SSID: {:?}", ap.ssid()?);
24 }
25 }
26 _ => {}
27 }
28 }
29
30 let eth0 = nm.get_device_by_ip_iface("eth0")?;
31 match eth0 {
32 Device::Ethernet(x) => {
33 // NetworkManager >= 1.24
34 // println!("Hardware Address: {:?}", Any::hw_address(&x)?);
35
36 // NetworkManager < 1.24
37 // println!("Hardware Address: {:?}", Wired::hw_address(&x)?);
38
39 println!("Speed: {:?}", x.speed()?);
40 }
41 _ => {}
42 }
43
44 Ok(())
45}
pub fn networking_enabled(&self) -> Result<bool, Error>
pub fn wireless_enabled(&self) -> Result<bool, Error>
pub fn wireless_hardware_enabled(&self) -> Result<bool, Error>
Trait Implementations§
Source§impl Clone for NetworkManager
impl Clone for NetworkManager
Source§fn clone(&self) -> NetworkManager
fn clone(&self) -> NetworkManager
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for NetworkManager
impl !RefUnwindSafe for NetworkManager
impl !Send for NetworkManager
impl !Sync for NetworkManager
impl Unpin for NetworkManager
impl !UnwindSafe for NetworkManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more