passcod_networkmanager/devices/
wireless.rs1use super::WiFiDevice;
2use crate::accesspoint::AccessPoint;
3use crate::errors::Error;
4use crate::gen::OrgFreedesktopNetworkManagerDeviceWireless;
5
6pub trait Wireless {
7 fn get_access_points(&self) -> Result<Vec<AccessPoint>, Error>;
8 fn get_all_access_points(&self) -> Result<Vec<AccessPoint>, Error>;
9 fn request_scan(
10 &self,
11 options: ::std::collections::HashMap<String, dbus::arg::Variant<Box<dyn dbus::arg::RefArg>>>,
12 ) -> Result<(), Error>;
13 fn hw_address(&self) -> Result<String, Error>;
14 fn perm_hw_address(&self) -> Result<String, Error>;
15 fn mode(&self) -> Result<u32, Error>;
16 fn bitrate(&self) -> Result<u32, Error>;
17 fn access_points(&self) -> Result<Vec<AccessPoint>, Error>;
18 fn active_access_point(&self) -> Result<AccessPoint, Error>;
19 fn wireless_capabilities(&self) -> Result<u32, Error>;
20 fn last_scan(&self) -> Result<i64, Error>;
21}
22
23impl Wireless for WiFiDevice {
24 fn request_scan(
25 &self,
26 options: std::collections::HashMap<String, dbus::arg::Variant<Box<dyn dbus::arg::RefArg>>>,
27 ) -> Result<(), Error> {
28 Ok(proxy!(self).request_scan(options)?)
29 }
30 fn get_access_points(&self) -> Result<Vec<AccessPoint>, Error> {
31 Ok(proxy!(self)
32 .get_access_points()?
33 .iter()
34 .map(|x| AccessPoint::new(self.dbus_accessor.with_path(x.clone())))
35 .collect())
36 }
37 fn get_all_access_points(&self) -> Result<Vec<AccessPoint>, Error> {
38 Ok(proxy!(self)
39 .get_all_access_points()?
40 .iter()
41 .map(|x| AccessPoint::new(self.dbus_accessor.with_path(x.clone())))
42 .collect())
43 }
44 fn hw_address(&self) -> Result<String, Error> {
45 Ok(proxy!(self).hw_address()?)
46 }
47 fn perm_hw_address(&self) -> Result<String, Error> {
48 Ok(proxy!(self).perm_hw_address()?)
49 }
50 fn mode(&self) -> Result<u32, Error> {
51 Ok(proxy!(self).mode()?)
52 }
53 fn bitrate(&self) -> Result<u32, Error> {
54 Ok(proxy!(self).bitrate()?)
55 }
56 fn access_points(&self) -> Result<Vec<AccessPoint>, Error> {
57 Ok(proxy!(self)
58 .access_points()?
59 .iter()
60 .map(|x| AccessPoint::new(self.dbus_accessor.with_path(x.clone())))
61 .collect())
62 }
63 fn active_access_point(&self) -> Result<AccessPoint, Error> {
64 let path = proxy!(self).active_access_point()?;
65 Ok(AccessPoint::new(self.dbus_accessor.with_path(path)))
66 }
67 fn wireless_capabilities(&self) -> Result<u32, Error> {
68 Ok(proxy!(self).wireless_capabilities()?)
69 }
70 fn last_scan(&self) -> Result<i64, Error> {
71 Ok(proxy!(self).last_scan()?)
72 }
73}