Add more NM bindings

This commit is contained in:
Lucy 2022-01-11 12:31:29 -05:00
parent 1273f1f098
commit ab51fc6f70
No known key found for this signature in database
GPG key ID: EBC517FAD666BBF1
9 changed files with 558 additions and 0 deletions

View file

@ -0,0 +1,66 @@
// SPDX-License-Identifier: MPL-2.0
//! # DBus interface proxy for: `org.freedesktop.NetworkManager.AccessPoint`
//!
//! This code was generated by `zbus-xmlgen` `2.0.0` from DBus introspection data.
//! Source: `Interface '/org/freedesktop/NetworkManager/AccessPoint/383' from service 'org.freedesktop.NetworkManager' on system bus`.
//!
//! You may prefer to adapt it, instead of using it verbatim.
//!
//! More information can be found in the
//! [Writing a client proxy](https://dbus.pages.freedesktop.org/zbus/client.html)
//! section of the zbus documentation.
//!
//! This DBus object implements
//! [standard DBus interfaces](https://dbus.freedesktop.org/doc/dbus-specification.html),
//! (`org.freedesktop.DBus.*`) for which the following zbus proxies can be used:
//!
//! * [`zbus::fdo::PropertiesProxy`]
//! * [`zbus::fdo::IntrospectableProxy`]
//! * [`zbus::fdo::PeerProxy`]
//!
//! …consequently `zbus-xmlgen` did not generate code for the above interfaces.
use zbus::dbus_proxy;
#[dbus_proxy(interface = "org.freedesktop.NetworkManager.AccessPoint")]
trait AccessPoint {
/// Flags property
#[dbus_proxy(property)]
fn flags(&self) -> zbus::Result<u32>;
/// Frequency property
#[dbus_proxy(property)]
fn frequency(&self) -> zbus::Result<u32>;
/// HwAddress property
#[dbus_proxy(property)]
fn hw_address(&self) -> zbus::Result<String>;
/// LastSeen property
#[dbus_proxy(property)]
fn last_seen(&self) -> zbus::Result<i32>;
/// MaxBitrate property
#[dbus_proxy(property)]
fn max_bitrate(&self) -> zbus::Result<u32>;
/// Mode property
#[dbus_proxy(property)]
fn mode(&self) -> zbus::Result<u32>;
/// RsnFlags property
#[dbus_proxy(property)]
fn rsn_flags(&self) -> zbus::Result<u32>;
/// Ssid property
#[dbus_proxy(property)]
fn ssid(&self) -> zbus::Result<Vec<u8>>;
/// Strength property
#[dbus_proxy(property)]
fn strength(&self) -> zbus::Result<u8>;
/// WpaFlags property
#[dbus_proxy(property)]
fn wpa_flags(&self) -> zbus::Result<u32>;
}

View file

@ -0,0 +1,3 @@
// SPDX-License-Identifier: MPL-2.0
pub mod ip4;
pub mod ip6;

View file

@ -0,0 +1,84 @@
// SPDX-License-Identifier: MPL-2.0
//! # DBus interface proxy for: `org.freedesktop.NetworkManager.IP4Config`
//!
//! This code was generated by `zbus-xmlgen` `2.0.0` from DBus introspection data.
//! Source: `Interface '/org/freedesktop/NetworkManager/IP4Config/3' from service 'org.freedesktop.NetworkManager' on system bus`.
//!
//! You may prefer to adapt it, instead of using it verbatim.
//!
//! More information can be found in the
//! [Writing a client proxy](https://dbus.pages.freedesktop.org/zbus/client.html)
//! section of the zbus documentation.
//!
//! This DBus object implements
//! [standard DBus interfaces](https://dbus.freedesktop.org/doc/dbus-specification.html),
//! (`org.freedesktop.DBus.*`) for which the following zbus proxies can be used:
//!
//! * [`zbus::fdo::PropertiesProxy`]
//! * [`zbus::fdo::IntrospectableProxy`]
//! * [`zbus::fdo::PeerProxy`]
//!
//! …consequently `zbus-xmlgen` did not generate code for the above interfaces.
use zbus::dbus_proxy;
#[dbus_proxy(interface = "org.freedesktop.NetworkManager.IP4Config")]
pub trait IP4Config {
/// AddressData property
#[dbus_proxy(property)]
fn address_data(
&self,
) -> zbus::Result<Vec<std::collections::HashMap<String, zbus::zvariant::OwnedValue>>>;
/// Addresses property
#[dbus_proxy(property)]
fn addresses(&self) -> zbus::Result<Vec<Vec<u32>>>;
/// DnsOptions property
#[dbus_proxy(property)]
fn dns_options(&self) -> zbus::Result<Vec<String>>;
/// DnsPriority property
#[dbus_proxy(property)]
fn dns_priority(&self) -> zbus::Result<i32>;
/// Domains property
#[dbus_proxy(property)]
fn domains(&self) -> zbus::Result<Vec<String>>;
/// Gateway property
#[dbus_proxy(property)]
fn gateway(&self) -> zbus::Result<String>;
/// NameserverData property
#[dbus_proxy(property)]
fn nameserver_data(
&self,
) -> zbus::Result<Vec<std::collections::HashMap<String, zbus::zvariant::OwnedValue>>>;
/// Nameservers property
#[dbus_proxy(property)]
fn nameservers(&self) -> zbus::Result<Vec<u32>>;
/// RouteData property
#[dbus_proxy(property)]
fn route_data(
&self,
) -> zbus::Result<Vec<std::collections::HashMap<String, zbus::zvariant::OwnedValue>>>;
/// Routes property
#[dbus_proxy(property)]
fn routes(&self) -> zbus::Result<Vec<Vec<u32>>>;
/// Searches property
#[dbus_proxy(property)]
fn searches(&self) -> zbus::Result<Vec<String>>;
/// WinsServerData property
#[dbus_proxy(property)]
fn wins_server_data(&self) -> zbus::Result<Vec<String>>;
/// WinsServers property
#[dbus_proxy(property)]
fn wins_servers(&self) -> zbus::Result<Vec<u32>>;
}

View file

@ -0,0 +1,70 @@
// SPDX-License-Identifier: MPL-2.0
//! # DBus interface proxy for: `org.freedesktop.NetworkManager.IP6Config`
//!
//! This code was generated by `zbus-xmlgen` `2.0.0` from DBus introspection data.
//! Source: `Interface '/org/freedesktop/NetworkManager/IP6Config/3' from service 'org.freedesktop.NetworkManager' on system bus`.
//!
//! You may prefer to adapt it, instead of using it verbatim.
//!
//! More information can be found in the
//! [Writing a client proxy](https://dbus.pages.freedesktop.org/zbus/client.html)
//! section of the zbus documentation.
//!
//! This DBus object implements
//! [standard DBus interfaces](https://dbus.freedesktop.org/doc/dbus-specification.html),
//! (`org.freedesktop.DBus.*`) for which the following zbus proxies can be used:
//!
//! * [`zbus::fdo::PropertiesProxy`]
//! * [`zbus::fdo::IntrospectableProxy`]
//! * [`zbus::fdo::PeerProxy`]
//!
//! …consequently `zbus-xmlgen` did not generate code for the above interfaces.
use zbus::dbus_proxy;
#[dbus_proxy(interface = "org.freedesktop.NetworkManager.IP6Config")]
pub trait IP6Config {
/// AddressData property
#[dbus_proxy(property)]
fn address_data(
&self,
) -> zbus::Result<Vec<std::collections::HashMap<String, zbus::zvariant::OwnedValue>>>;
/// Addresses property
#[dbus_proxy(property)]
fn addresses(&self) -> zbus::Result<Vec<(Vec<u8>, u32, Vec<u8>)>>;
/// DnsOptions property
#[dbus_proxy(property)]
fn dns_options(&self) -> zbus::Result<Vec<String>>;
/// DnsPriority property
#[dbus_proxy(property)]
fn dns_priority(&self) -> zbus::Result<i32>;
/// Domains property
#[dbus_proxy(property)]
fn domains(&self) -> zbus::Result<Vec<String>>;
/// Gateway property
#[dbus_proxy(property)]
fn gateway(&self) -> zbus::Result<String>;
/// Nameservers property
#[dbus_proxy(property)]
fn nameservers(&self) -> zbus::Result<Vec<Vec<u8>>>;
/// RouteData property
#[dbus_proxy(property)]
fn route_data(
&self,
) -> zbus::Result<Vec<std::collections::HashMap<String, zbus::zvariant::OwnedValue>>>;
/// Routes property
#[dbus_proxy(property)]
fn routes(&self) -> zbus::Result<Vec<(Vec<u8>, u32, Vec<u8>, u32)>>;
/// Searches property
#[dbus_proxy(property)]
fn searches(&self) -> zbus::Result<Vec<String>>;
}

View file

@ -20,6 +20,9 @@
//!
//! …consequently `zbus-xmlgen` did not generate code for the above interfaces.
pub mod wired;
pub mod wireless;
use zbus::dbus_proxy;
#[dbus_proxy(interface = "org.freedesktop.NetworkManager.Device.Statistics")]

View file

@ -0,0 +1,208 @@
// SPDX-License-Identifier: MPL-2.0
//! # DBus interface proxies for: `org.freedesktop.NetworkManager.Device.Wired`
//!
//! This code was generated by `zbus-xmlgen` `2.0.0` from DBus introspection data.
//! Source: `Interface '/org/freedesktop/NetworkManager/Devices/2' from service 'org.freedesktop.NetworkManager' on system bus`.
//!
//! You may prefer to adapt it, instead of using it verbatim.
//!
//! More information can be found in the
//! [Writing a client proxy](https://dbus.pages.freedesktop.org/zbus/client.html)
//! section of the zbus documentation.
//!
//! This DBus object implements
//! [standard DBus interfaces](https://dbus.freedesktop.org/doc/dbus-specification.html),
//! (`org.freedesktop.DBus.*`) for which the following zbus proxies can be used:
//!
//! * [`zbus::fdo::PropertiesProxy`]
//! * [`zbus::fdo::IntrospectableProxy`]
//! * [`zbus::fdo::PeerProxy`]
//!
//! …consequently `zbus-xmlgen` did not generate code for the above interfaces.
use zbus::dbus_proxy;
#[dbus_proxy(interface = "org.freedesktop.NetworkManager.Device")]
pub trait Device {
/// Delete method
fn delete(&self) -> zbus::Result<()>;
/// Disconnect method
fn disconnect(&self) -> zbus::Result<()>;
/// GetAppliedConnection method
fn get_applied_connection(
&self,
flags: u32,
) -> zbus::Result<(
std::collections::HashMap<
String,
std::collections::HashMap<String, zbus::zvariant::OwnedValue>,
>,
u64,
)>;
/// Reapply method
fn reapply(
&self,
connection: std::collections::HashMap<
&str,
std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
>,
version_id: u64,
flags: u32,
) -> zbus::Result<()>;
/// ActiveConnection property
#[dbus_proxy(property)]
fn active_connection(&self) -> zbus::Result<zbus::zvariant::OwnedObjectPath>;
/// Autoconnect property
#[dbus_proxy(property)]
fn autoconnect(&self) -> zbus::Result<bool>;
#[dbus_proxy(property)]
fn set_autoconnect(&self, value: bool) -> zbus::Result<()>;
/// AvailableConnections property
#[dbus_proxy(property)]
fn available_connections(&self) -> zbus::Result<Vec<zbus::zvariant::OwnedObjectPath>>;
/// Capabilities property
#[dbus_proxy(property)]
fn capabilities(&self) -> zbus::Result<u32>;
/// DeviceType property
#[dbus_proxy(property)]
fn device_type(&self) -> zbus::Result<u32>;
/// Dhcp4Config property
#[dbus_proxy(property)]
fn dhcp4_config(&self) -> zbus::Result<zbus::zvariant::OwnedObjectPath>;
/// Dhcp6Config property
#[dbus_proxy(property)]
fn dhcp6_config(&self) -> zbus::Result<zbus::zvariant::OwnedObjectPath>;
/// Driver property
#[dbus_proxy(property)]
fn driver(&self) -> zbus::Result<String>;
/// DriverVersion property
#[dbus_proxy(property)]
fn driver_version(&self) -> zbus::Result<String>;
/// FirmwareMissing property
#[dbus_proxy(property)]
fn firmware_missing(&self) -> zbus::Result<bool>;
/// FirmwareVersion property
#[dbus_proxy(property)]
fn firmware_version(&self) -> zbus::Result<String>;
/// HwAddress property
#[dbus_proxy(property)]
fn hw_address(&self) -> zbus::Result<String>;
/// Interface property
#[dbus_proxy(property)]
fn interface(&self) -> zbus::Result<String>;
/// InterfaceFlags property
#[dbus_proxy(property)]
fn interface_flags(&self) -> zbus::Result<u32>;
/// Ip4Address property
#[dbus_proxy(property)]
fn ip4_address(&self) -> zbus::Result<u32>;
/// Ip4Config property
#[dbus_proxy(property)]
fn ip4_config(&self) -> zbus::Result<zbus::zvariant::OwnedObjectPath>;
/// Ip4Connectivity property
#[dbus_proxy(property)]
fn ip4_connectivity(&self) -> zbus::Result<u32>;
/// Ip6Config property
#[dbus_proxy(property)]
fn ip6_config(&self) -> zbus::Result<zbus::zvariant::OwnedObjectPath>;
/// Ip6Connectivity property
#[dbus_proxy(property)]
fn ip6_connectivity(&self) -> zbus::Result<u32>;
/// IpInterface property
#[dbus_proxy(property)]
fn ip_interface(&self) -> zbus::Result<String>;
/// LldpNeighbors property
#[dbus_proxy(property)]
fn lldp_neighbors(
&self,
) -> zbus::Result<Vec<std::collections::HashMap<String, zbus::zvariant::OwnedValue>>>;
/// Managed property
#[dbus_proxy(property)]
fn managed(&self) -> zbus::Result<bool>;
#[dbus_proxy(property)]
fn set_managed(&self, value: bool) -> zbus::Result<()>;
/// Metered property
#[dbus_proxy(property)]
fn metered(&self) -> zbus::Result<u32>;
/// Mtu property
#[dbus_proxy(property)]
fn mtu(&self) -> zbus::Result<u32>;
/// NmPluginMissing property
#[dbus_proxy(property)]
fn nm_plugin_missing(&self) -> zbus::Result<bool>;
/// Path property
#[dbus_proxy(property)]
fn path(&self) -> zbus::Result<String>;
/// PhysicalPortId property
#[dbus_proxy(property)]
fn physical_port_id(&self) -> zbus::Result<String>;
/// Real property
#[dbus_proxy(property)]
fn real(&self) -> zbus::Result<bool>;
/// State property
#[dbus_proxy(property)]
fn state(&self) -> zbus::Result<u32>;
/// StateReason property
#[dbus_proxy(property)]
fn state_reason(&self) -> zbus::Result<(u32, u32)>;
/// Udi property
#[dbus_proxy(property)]
fn udi(&self) -> zbus::Result<String>;
}
#[dbus_proxy(interface = "org.freedesktop.NetworkManager.Device.Wired")]
trait Wired {
/// Carrier property
#[dbus_proxy(property)]
fn carrier(&self) -> zbus::Result<bool>;
/// HwAddress property
#[dbus_proxy(property)]
fn hw_address(&self) -> zbus::Result<String>;
/// PermHwAddress property
#[dbus_proxy(property)]
fn perm_hw_address(&self) -> zbus::Result<String>;
/// S390Subchannels property
#[dbus_proxy(property)]
fn s390subchannels(&self) -> zbus::Result<Vec<String>>;
/// Speed property
#[dbus_proxy(property)]
fn speed(&self) -> zbus::Result<u32>;
}

View file

@ -0,0 +1,81 @@
// SPDX-License-Identifier: MPL-2.0
//! # DBus interface proxies for: `org.freedesktop.NetworkManager.Device.Wireless`
//!
//! This code was generated by `zbus-xmlgen` `2.0.0` from DBus introspection data.
//! Source: `Interface '/org/freedesktop/NetworkManager/Devices/3' from service 'org.freedesktop.NetworkManager' on system bus`.
//!
//! You may prefer to adapt it, instead of using it verbatim.
//!
//! More information can be found in the
//! [Writing a client proxy](https://dbus.pages.freedesktop.org/zbus/client.html)
//! section of the zbus documentation.
//!
//! This DBus object implements
//! [standard DBus interfaces](https://dbus.freedesktop.org/doc/dbus-specification.html),
//! (`org.freedesktop.DBus.*`) for which the following zbus proxies can be used:
//!
//! * [`zbus::fdo::PropertiesProxy`]
//! * [`zbus::fdo::IntrospectableProxy`]
//! * [`zbus::fdo::PeerProxy`]
//!
//! …consequently `zbus-xmlgen` did not generate code for the above interfaces.
use zbus::dbus_proxy;
#[dbus_proxy(interface = "org.freedesktop.NetworkManager.Device.Wireless")]
pub trait Wireless {
/// GetAccessPoints method
fn get_access_points(&self) -> zbus::Result<Vec<zbus::zvariant::OwnedObjectPath>>;
/// GetAllAccessPoints method
fn get_all_access_points(&self) -> zbus::Result<Vec<zbus::zvariant::OwnedObjectPath>>;
/// RequestScan method
fn request_scan(
&self,
options: std::collections::HashMap<&str, zbus::zvariant::Value<'_>>,
) -> zbus::Result<()>;
/// AccessPointAdded signal
#[dbus_proxy(signal)]
fn access_point_added(&self, access_point: zbus::zvariant::ObjectPath<'_>) -> zbus::Result<()>;
/// AccessPointRemoved signal
#[dbus_proxy(signal)]
fn access_point_removed(
&self,
access_point: zbus::zvariant::ObjectPath<'_>,
) -> zbus::Result<()>;
/// AccessPoints property
#[dbus_proxy(property)]
fn access_points(&self) -> zbus::Result<Vec<zbus::zvariant::OwnedObjectPath>>;
/// ActiveAccessPoint property
#[dbus_proxy(property)]
fn active_access_point(&self) -> zbus::Result<zbus::zvariant::OwnedObjectPath>;
/// Bitrate property
#[dbus_proxy(property)]
fn bitrate(&self) -> zbus::Result<u32>;
/// HwAddress property
#[dbus_proxy(property)]
fn hw_address(&self) -> zbus::Result<String>;
/// LastScan property
#[dbus_proxy(property)]
fn last_scan(&self) -> zbus::Result<i64>;
/// Mode property
#[dbus_proxy(property)]
fn mode(&self) -> zbus::Result<u32>;
/// PermHwAddress property
#[dbus_proxy(property)]
fn perm_hw_address(&self) -> zbus::Result<String>;
/// WirelessCapabilities property
#[dbus_proxy(property)]
fn wireless_capabilities(&self) -> zbus::Result<u32>;
}

View file

@ -20,8 +20,11 @@
//!
//! …consequently `zbus-xmlgen` did not generate code for the above interfaces.
pub mod access_point;
pub mod config;
pub mod device;
pub mod settings;
pub mod statistics;
use zbus::dbus_proxy;

View file

@ -0,0 +1,40 @@
// SPDX-License-Identifier: MPL-2.0
//! # DBus interface proxies for: `org.freedesktop.NetworkManager.Device.Statistics`
//!
//! This code was generated by `zbus-xmlgen` `2.0.0` from DBus introspection data.
//! Source: `Interface '/org/freedesktop/NetworkManager/Devices/3' from service 'org.freedesktop.NetworkManager' on system bus`.
//!
//! You may prefer to adapt it, instead of using it verbatim.
//!
//! More information can be found in the
//! [Writing a client proxy](https://dbus.pages.freedesktop.org/zbus/client.html)
//! section of the zbus documentation.
//!
//! This DBus object implements
//! [standard DBus interfaces](https://dbus.freedesktop.org/doc/dbus-specification.html),
//! (`org.freedesktop.DBus.*`) for which the following zbus proxies can be used:
//!
//! * [`zbus::fdo::PropertiesProxy`]
//! * [`zbus::fdo::IntrospectableProxy`]
//! * [`zbus::fdo::PeerProxy`]
//!
//! …consequently `zbus-xmlgen` did not generate code for the above interfaces.
use zbus::dbus_proxy;
#[dbus_proxy(interface = "org.freedesktop.NetworkManager.Device.Statistics")]
pub trait Statistics {
/// RefreshRateMs property
#[dbus_proxy(property)]
fn refresh_rate_ms(&self) -> zbus::Result<u32>;
#[dbus_proxy(property)]
fn set_refresh_rate_ms(&self, value: u32) -> zbus::Result<()>;
/// RxBytes property
#[dbus_proxy(property)]
fn rx_bytes(&self) -> zbus::Result<u64>;
/// TxBytes property
#[dbus_proxy(property)]
fn tx_bytes(&self) -> zbus::Result<u64>;
}