From fd14514d6c12baca87555dd20d7ede89bf97053e Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Thu, 28 Mar 2024 16:57:47 -0700 Subject: [PATCH] manager: Implement format_device --- src/manager.rs | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/manager.rs b/src/manager.rs index 4078f54..bb86c17 100644 --- a/src/manager.rs +++ b/src/manager.rs @@ -252,16 +252,22 @@ impl SteamOSManager { } } - async fn format_sdcard(&self) -> bool { - // Run steamos-format-sdcard script - // return true on success, false otherwise - run_script( - "format sdcard", - "/usr/bin/steamos-polkit-helpers/steamos-format-sdcard", - &[""], + async fn format_device(&self, device: &str, label: &str, validate: bool) -> Result<(), zbus::fdo::Error> { + let mut args = vec!["--label", label, "--device", device]; + if !validate { + args.push("--skip-validation"); + } + let res = run_script( + "format device", + "/usr/lib/hwsupport/format-device.sh", + args.as_ref() ) - .await - .unwrap_or(false) + .await; + + match res { + Ok(_) => Ok(()), + Err(e) => Err(zbus::fdo::Error::Failed(e.to_string())), + } } #[zbus(property)]