nm_rs/
setting_wireless.rs1use std::borrow::Borrow;
2
3use glib::object::{IsA, ObjectExt};
4use glib::translate::*;
5
6use crate::SettingWireless;
7use crate::builders::SettingWirelessBuilder;
8use crate::ffi;
9
10pub trait SettingWirelessExtManual:
11 IsA<SettingWireless, GlibType = ffi::NMSettingWireless>
12{
13 #[doc(alias = "nm_setting_wireless_get_ssid")]
18 #[doc(alias = "get_ssid")]
19 fn ssid(&self) -> glib::Bytes {
20 unsafe {
21 glib::Bytes::from_glib_none(ffi::nm_setting_wireless_get_ssid(self.to_glib_none().0))
22 }
23 }
24
25 fn ssid_utf8(&self) -> Option<glib::GString> {
31 let ssid = unsafe {
32 glib::Bytes::from_glib_none(ffi::nm_setting_wireless_get_ssid(self.to_glib_none().0))
33 };
34
35 glib::GString::from_utf8(ssid.to_vec()).ok()
36 }
37
38 fn set_ssid<B: Borrow<[u8]> + ?Sized>(&self, ssid: &B) {
40 let bytes = glib::Bytes::from(ssid);
41 ObjectExt::set_property(self, "ssid", bytes);
42 }
43}
44
45impl<T: IsA<SettingWireless, GlibType = ffi::NMSettingWireless>> SettingWirelessExtManual for T {}