blob: 8dca94248e4080995c85b724b0d7b1f7dc948063 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
#[cfg(target_os = "windows")]
pub mod windows;
#[cfg(target_os = "linux")]
pub mod linux;
/// Returns identifier of host OS FlightCore is running on
#[tauri::command]
pub fn get_host_os() -> String {
std::env::consts::OS.to_string()
}
/// On Linux attempts to install NorthstarProton
/// On Windows simply returns an error message
#[tauri::command]
pub async fn install_northstar_proton_wrapper() -> Result<(), String> {
#[cfg(target_os = "linux")]
return linux::install_ns_proton().map_err(|err| err.to_string());
#[cfg(target_os = "windows")]
Err("Not supported on Windows".to_string())
}
#[tauri::command]
pub async fn uninstall_northstar_proton_wrapper() -> Result<(), String> {
#[cfg(target_os = "linux")]
return linux::uninstall_ns_proton();
#[cfg(target_os = "windows")]
Err("Not supported on Windows".to_string())
}
#[tauri::command]
pub async fn get_local_northstar_proton_wrapper_version() -> Result<String, String> {
#[cfg(target_os = "linux")]
return linux::get_local_ns_proton_version();
#[cfg(target_os = "windows")]
Err("Not supported on Windows".to_string())
}
/// Returns true if linux compatible
#[tauri::command]
pub async fn linux_checks() -> Result<(), String> {
// Different behaviour depending on OS
// MacOS is missing as it is not a target
// in turn this means this application will not build on MacOS.
#[cfg(target_os = "windows")]
{
Err("Not available on Windows".to_string())
}
#[cfg(target_os = "linux")]
{
linux::linux_checks_librs()
}
}
|