Compare commits
2 commits
17d3c6469e
...
381df2e644
Author | SHA1 | Date | |
---|---|---|---|
Skye | 381df2e644 | ||
Skye | 2c766e917d |
5
build.rs
5
build.rs
|
@ -37,6 +37,7 @@ fn main() {
|
||||||
|
|
||||||
let dbus_paths_raw =
|
let dbus_paths_raw =
|
||||||
env::var("DBUS_XML_PATH").unwrap_or("/usr/share/dbus-1/interfaces".to_string());
|
env::var("DBUS_XML_PATH").unwrap_or("/usr/share/dbus-1/interfaces".to_string());
|
||||||
|
fs::create_dir_all(out_dir.join("generated")).unwrap();
|
||||||
dbus_paths_raw
|
dbus_paths_raw
|
||||||
.split(':')
|
.split(':')
|
||||||
.map(fs::read_dir)
|
.map(fs::read_dir)
|
||||||
|
@ -64,7 +65,7 @@ fn main() {
|
||||||
.strip_suffix(".xml")
|
.strip_suffix(".xml")
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.replace('.', "_");
|
.replace('.', "_");
|
||||||
let out_path = out_dir.join(module_name.clone() + ".rs");
|
let out_path = out_dir.join(format!("generated/{module_name}.rs"));
|
||||||
fs::File::create(out_path)
|
fs::File::create(out_path)
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.write_all(code.as_bytes())
|
.write_all(code.as_bytes())
|
||||||
|
@ -74,7 +75,7 @@ fn main() {
|
||||||
.write_all(
|
.write_all(
|
||||||
format!(
|
format!(
|
||||||
r#"mod {module_name} {{
|
r#"mod {module_name} {{
|
||||||
include!(concat!(env!("OUT_DIR"), "/{module_name}.rs"));
|
include!(concat!(env!("OUT_DIR"), "/generated/{module_name}.rs"));
|
||||||
}}
|
}}
|
||||||
pub use {module_name}::*;
|
pub use {module_name}::*;
|
||||||
"#
|
"#
|
||||||
|
|
|
@ -14,13 +14,14 @@ pub async fn network_manager(
|
||||||
_output: OutputChannel,
|
_output: OutputChannel,
|
||||||
dbus_conn: Arc<SyncConnection>,
|
dbus_conn: Arc<SyncConnection>,
|
||||||
) -> eyre::Result<Infallible> {
|
) -> eyre::Result<Infallible> {
|
||||||
|
|
||||||
let destination = "org.freedesktop.NetworkManager";
|
let destination = "org.freedesktop.NetworkManager";
|
||||||
let timeout = Duration::from_secs(5);
|
let timeout = Duration::from_secs(5);
|
||||||
let connection = dbus_conn.as_ref();
|
let connection = dbus_conn.as_ref();
|
||||||
let make_proxy = |path| Proxy::new(destination, path, timeout, connection);
|
let make_proxy = |path| Proxy::new(destination, path, timeout, connection);
|
||||||
|
|
||||||
let primary_connection = make_proxy("/org/freedesktop/NetworkManager".into()).primary_connection().await?;
|
let primary_connection = make_proxy("/org/freedesktop/NetworkManager".into())
|
||||||
|
.primary_connection()
|
||||||
|
.await?;
|
||||||
let specific_object = make_proxy(primary_connection).specific_object().await?;
|
let specific_object = make_proxy(primary_connection).specific_object().await?;
|
||||||
let ssid = make_proxy(specific_object).ssid().await?;
|
let ssid = make_proxy(specific_object).ssid().await?;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue