Skip to content

Commit d4f6451

Browse files
committed
monitor: utm: initial clone_guest()
1 parent 98fd156 commit d4f6451

File tree

3 files changed

+24
-3
lines changed

3 files changed

+24
-3
lines changed

monitor/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ web = { workspace = true }
3232
rand = "0.9.1"
3333

3434
[target.'cfg(target_os = "macos")'.dependencies]
35-
osakit = "0.3.1"
35+
osakit = { version = "0.3.1", features = ["full"] }
3636

3737
[dev-dependencies]
3838
settings = { workspace = true, features = ["test"] }

monitor/src/utm.rs

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,19 @@
1-
#[allow(unused)]
2-
use osakit;
1+
use jane_eyre::eyre;
2+
use osakit::{self, declare_script};
3+
4+
pub fn clone_guest(original_guest_name: &str, new_guest_name: &str) -> eyre::Result<()> {
5+
declare_script! {
6+
#[language(AppleScript)]
7+
#[source(r#"
8+
on clone_guest(original_guest_name, new_guest_name)
9+
tell application "UTM"
10+
end tell
11+
end clone_guest
12+
"#)]
13+
Script {
14+
fn clone_guest(original_guest_name: &str, new_guest_name: &str);
15+
}
16+
}
17+
Script::new()?.clone_guest(original_guest_name, new_guest_name)?;
18+
Ok(())
19+
}

monitor/src/utm_dummy.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1+
use jane_eyre::eyre;
12

3+
pub fn clone_guest(original_guest_name: &str, new_guest_name: &str) -> eyre::Result<()> {
4+
unimplemented!(r#"Requires `#[cfg(target_os = "macos")]`"#)
5+
}

0 commit comments

Comments
 (0)