refactor elevate on macOS

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou 2023-05-16 16:19:06 +08:00
parent 9ecf0e3f89
commit 25f37577c3

View File

@ -186,6 +186,19 @@ fn elevate_install(
crate::platform::elevate(args)
}
#[cfg(target_os = "macos")]
fn elevate_install(
plugin_id: &str,
plugin_url: &str,
same_plugin_exists: bool,
) -> ResultType<bool> {
let mut args = vec!["--plugin-install", plugin_id];
if !same_plugin_exists {
args.push(&plugin_url);
}
crate::platform::elevate(args, "RustDesk wants to install then plugin")
}
#[inline]
#[cfg(target_os = "windows")]
fn elevate_uninstall(plugin_id: &str) -> ResultType<bool> {
@ -193,11 +206,20 @@ fn elevate_uninstall(plugin_id: &str) -> ResultType<bool> {
}
#[inline]
#[cfg(any(target_os = "linux", target_os = "macos"))]
fn elevate_install(plugin_id: &str) -> ResultType<bool> {
#[cfg(target_os = "linux")]
fn elevate_uninstall(plugin_id: &str) -> ResultType<bool> {
crate::platform::elevate(vec!["--plugin-uninstall", plugin_id])
}
#[inline]
#[cfg(target_os = "macos")]
fn elevate_uninstall(plugin_id: &str) -> ResultType<bool> {
crate::platform::elevate(
vec!["--plugin-uninstall", plugin_id],
"RustDesk wants to uninstall the plugin",
)
}
pub fn install_plugin(id: &str) -> ResultType<()> {
match PLUGIN_INFO.lock().unwrap().get(id) {
Some(plugin) => {