pub struct ModemMode(/* private fields */);
Available on crate feature
network
only.Implementations§
Source§impl ModemMode
impl ModemMode
Sourcepub fn has_2g(&self) -> bool
pub fn has_2g(&self) -> bool
GPRS, EDGE.
Examples found in repository?
examples/network.rs (line 57)
12fn main() {
13
14 let dbus = NetworkManager::connect().unwrap();
15
16 for device in dbus.devices().unwrap() {
17 let state = device.state().unwrap();
18 let kind = device.kind().unwrap();
19 let interface = device.interface().unwrap();
20
21 println!("{:?} {:?} {:?}", interface, kind, state);
22 if let Ok(apn) = device.modem_apn() {
23 println!("- has apn {:?}", apn);
24 }
25
26 if matches!(state, DeviceState::Activated) {
27 let ipv4 = device.ipv4_config().unwrap()
28 .addresses().unwrap();
29 println!("- addresses {:?}", ipv4);
30 }
31 }
32
33 let dbus = ModemManager::connect().unwrap();
34
35 for modem in dbus.modems().unwrap() {
36 println!(
37 "modem {:?} {:?} {:?}",
38 modem.model().unwrap(),
39 modem.manufacturer().unwrap(),
40 modem.device().unwrap()
41 );
42
43 println!(
44 "- carrier configuration: {:?}",
45 modem.carrier_configuration().unwrap()
46 );
47
48 println!(
49 "- state: {:?}, signal: {:?}",
50 modem.state().unwrap(),
51 modem.signal_quality().unwrap()
52 );
53
54 let (allowed_modes, preffered_modes) = modem.current_modes().unwrap();
55 println!(
56 "- allowed modes: 2g: {} 3g: {} 4g: {} 5g: {}",
57 allowed_modes.has_2g(),
58 allowed_modes.has_3g(),
59 allowed_modes.has_4g(),
60 allowed_modes.has_5g()
61 );
62
63 println!(
64 "- prefered modes: 2g: {} 3g: {} 4g: {} 5g: {}",
65 preffered_modes.has_2g(),
66 preffered_modes.has_3g(),
67 preffered_modes.has_4g(),
68 preffered_modes.has_5g()
69 );
70
71 println!(
72 "- bands: {:?}",
73 modem.current_bands().unwrap()
74 );
75
76 modem.signal_setup(10).unwrap();
77 thread::sleep(Duration::from_secs(1));
78
79 if let Ok(cdma) = modem.signal_cdma() {
80 println!("- cdma: {:?}", cdma);
81 }
82
83 if let Ok(evdo) = modem.signal_evdo() {
84 println!("- evdo: {:?}", evdo);
85 }
86
87 if let Ok(gsm) = modem.signal_gsm() {
88 println!("- gsm: {:?}", gsm);
89 }
90
91 if let Ok(umts) = modem.signal_umts() {
92 println!("- umts: {:?}", umts);
93 }
94
95 if let Ok(lte) = modem.signal_lte() {
96 println!("- lte: {:?}", lte);
97 }
98
99 if let Ok(nr5g) = modem.signal_nr5g() {
100 println!("- nr5g: {:?}", nr5g);
101 }
102 }
103
104}
Sourcepub fn has_3g(&self) -> bool
pub fn has_3g(&self) -> bool
UMTS, HSxPA.
Examples found in repository?
examples/network.rs (line 58)
12fn main() {
13
14 let dbus = NetworkManager::connect().unwrap();
15
16 for device in dbus.devices().unwrap() {
17 let state = device.state().unwrap();
18 let kind = device.kind().unwrap();
19 let interface = device.interface().unwrap();
20
21 println!("{:?} {:?} {:?}", interface, kind, state);
22 if let Ok(apn) = device.modem_apn() {
23 println!("- has apn {:?}", apn);
24 }
25
26 if matches!(state, DeviceState::Activated) {
27 let ipv4 = device.ipv4_config().unwrap()
28 .addresses().unwrap();
29 println!("- addresses {:?}", ipv4);
30 }
31 }
32
33 let dbus = ModemManager::connect().unwrap();
34
35 for modem in dbus.modems().unwrap() {
36 println!(
37 "modem {:?} {:?} {:?}",
38 modem.model().unwrap(),
39 modem.manufacturer().unwrap(),
40 modem.device().unwrap()
41 );
42
43 println!(
44 "- carrier configuration: {:?}",
45 modem.carrier_configuration().unwrap()
46 );
47
48 println!(
49 "- state: {:?}, signal: {:?}",
50 modem.state().unwrap(),
51 modem.signal_quality().unwrap()
52 );
53
54 let (allowed_modes, preffered_modes) = modem.current_modes().unwrap();
55 println!(
56 "- allowed modes: 2g: {} 3g: {} 4g: {} 5g: {}",
57 allowed_modes.has_2g(),
58 allowed_modes.has_3g(),
59 allowed_modes.has_4g(),
60 allowed_modes.has_5g()
61 );
62
63 println!(
64 "- prefered modes: 2g: {} 3g: {} 4g: {} 5g: {}",
65 preffered_modes.has_2g(),
66 preffered_modes.has_3g(),
67 preffered_modes.has_4g(),
68 preffered_modes.has_5g()
69 );
70
71 println!(
72 "- bands: {:?}",
73 modem.current_bands().unwrap()
74 );
75
76 modem.signal_setup(10).unwrap();
77 thread::sleep(Duration::from_secs(1));
78
79 if let Ok(cdma) = modem.signal_cdma() {
80 println!("- cdma: {:?}", cdma);
81 }
82
83 if let Ok(evdo) = modem.signal_evdo() {
84 println!("- evdo: {:?}", evdo);
85 }
86
87 if let Ok(gsm) = modem.signal_gsm() {
88 println!("- gsm: {:?}", gsm);
89 }
90
91 if let Ok(umts) = modem.signal_umts() {
92 println!("- umts: {:?}", umts);
93 }
94
95 if let Ok(lte) = modem.signal_lte() {
96 println!("- lte: {:?}", lte);
97 }
98
99 if let Ok(nr5g) = modem.signal_nr5g() {
100 println!("- nr5g: {:?}", nr5g);
101 }
102 }
103
104}
Sourcepub fn has_4g(&self) -> bool
pub fn has_4g(&self) -> bool
LTE.
Examples found in repository?
examples/network.rs (line 59)
12fn main() {
13
14 let dbus = NetworkManager::connect().unwrap();
15
16 for device in dbus.devices().unwrap() {
17 let state = device.state().unwrap();
18 let kind = device.kind().unwrap();
19 let interface = device.interface().unwrap();
20
21 println!("{:?} {:?} {:?}", interface, kind, state);
22 if let Ok(apn) = device.modem_apn() {
23 println!("- has apn {:?}", apn);
24 }
25
26 if matches!(state, DeviceState::Activated) {
27 let ipv4 = device.ipv4_config().unwrap()
28 .addresses().unwrap();
29 println!("- addresses {:?}", ipv4);
30 }
31 }
32
33 let dbus = ModemManager::connect().unwrap();
34
35 for modem in dbus.modems().unwrap() {
36 println!(
37 "modem {:?} {:?} {:?}",
38 modem.model().unwrap(),
39 modem.manufacturer().unwrap(),
40 modem.device().unwrap()
41 );
42
43 println!(
44 "- carrier configuration: {:?}",
45 modem.carrier_configuration().unwrap()
46 );
47
48 println!(
49 "- state: {:?}, signal: {:?}",
50 modem.state().unwrap(),
51 modem.signal_quality().unwrap()
52 );
53
54 let (allowed_modes, preffered_modes) = modem.current_modes().unwrap();
55 println!(
56 "- allowed modes: 2g: {} 3g: {} 4g: {} 5g: {}",
57 allowed_modes.has_2g(),
58 allowed_modes.has_3g(),
59 allowed_modes.has_4g(),
60 allowed_modes.has_5g()
61 );
62
63 println!(
64 "- prefered modes: 2g: {} 3g: {} 4g: {} 5g: {}",
65 preffered_modes.has_2g(),
66 preffered_modes.has_3g(),
67 preffered_modes.has_4g(),
68 preffered_modes.has_5g()
69 );
70
71 println!(
72 "- bands: {:?}",
73 modem.current_bands().unwrap()
74 );
75
76 modem.signal_setup(10).unwrap();
77 thread::sleep(Duration::from_secs(1));
78
79 if let Ok(cdma) = modem.signal_cdma() {
80 println!("- cdma: {:?}", cdma);
81 }
82
83 if let Ok(evdo) = modem.signal_evdo() {
84 println!("- evdo: {:?}", evdo);
85 }
86
87 if let Ok(gsm) = modem.signal_gsm() {
88 println!("- gsm: {:?}", gsm);
89 }
90
91 if let Ok(umts) = modem.signal_umts() {
92 println!("- umts: {:?}", umts);
93 }
94
95 if let Ok(lte) = modem.signal_lte() {
96 println!("- lte: {:?}", lte);
97 }
98
99 if let Ok(nr5g) = modem.signal_nr5g() {
100 println!("- nr5g: {:?}", nr5g);
101 }
102 }
103
104}
Sourcepub fn has_5g(&self) -> bool
pub fn has_5g(&self) -> bool
5GNR
Examples found in repository?
examples/network.rs (line 60)
12fn main() {
13
14 let dbus = NetworkManager::connect().unwrap();
15
16 for device in dbus.devices().unwrap() {
17 let state = device.state().unwrap();
18 let kind = device.kind().unwrap();
19 let interface = device.interface().unwrap();
20
21 println!("{:?} {:?} {:?}", interface, kind, state);
22 if let Ok(apn) = device.modem_apn() {
23 println!("- has apn {:?}", apn);
24 }
25
26 if matches!(state, DeviceState::Activated) {
27 let ipv4 = device.ipv4_config().unwrap()
28 .addresses().unwrap();
29 println!("- addresses {:?}", ipv4);
30 }
31 }
32
33 let dbus = ModemManager::connect().unwrap();
34
35 for modem in dbus.modems().unwrap() {
36 println!(
37 "modem {:?} {:?} {:?}",
38 modem.model().unwrap(),
39 modem.manufacturer().unwrap(),
40 modem.device().unwrap()
41 );
42
43 println!(
44 "- carrier configuration: {:?}",
45 modem.carrier_configuration().unwrap()
46 );
47
48 println!(
49 "- state: {:?}, signal: {:?}",
50 modem.state().unwrap(),
51 modem.signal_quality().unwrap()
52 );
53
54 let (allowed_modes, preffered_modes) = modem.current_modes().unwrap();
55 println!(
56 "- allowed modes: 2g: {} 3g: {} 4g: {} 5g: {}",
57 allowed_modes.has_2g(),
58 allowed_modes.has_3g(),
59 allowed_modes.has_4g(),
60 allowed_modes.has_5g()
61 );
62
63 println!(
64 "- prefered modes: 2g: {} 3g: {} 4g: {} 5g: {}",
65 preffered_modes.has_2g(),
66 preffered_modes.has_3g(),
67 preffered_modes.has_4g(),
68 preffered_modes.has_5g()
69 );
70
71 println!(
72 "- bands: {:?}",
73 modem.current_bands().unwrap()
74 );
75
76 modem.signal_setup(10).unwrap();
77 thread::sleep(Duration::from_secs(1));
78
79 if let Ok(cdma) = modem.signal_cdma() {
80 println!("- cdma: {:?}", cdma);
81 }
82
83 if let Ok(evdo) = modem.signal_evdo() {
84 println!("- evdo: {:?}", evdo);
85 }
86
87 if let Ok(gsm) = modem.signal_gsm() {
88 println!("- gsm: {:?}", gsm);
89 }
90
91 if let Ok(umts) = modem.signal_umts() {
92 println!("- umts: {:?}", umts);
93 }
94
95 if let Ok(lte) = modem.signal_lte() {
96 println!("- lte: {:?}", lte);
97 }
98
99 if let Ok(nr5g) = modem.signal_nr5g() {
100 println!("- nr5g: {:?}", nr5g);
101 }
102 }
103
104}
Trait Implementations§
impl Copy for ModemMode
impl Eq for ModemMode
impl StructuralPartialEq for ModemMode
Auto Trait Implementations§
impl Freeze for ModemMode
impl RefUnwindSafe for ModemMode
impl Send for ModemMode
impl Sync for ModemMode
impl Unpin for ModemMode
impl UnwindSafe for ModemMode
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