aboutsummaryrefslogtreecommitdiff
path: root/src-tauri/src/northstar/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src-tauri/src/northstar/mod.rs')
-rw-r--r--src-tauri/src/northstar/mod.rs19
1 files changed, 12 insertions, 7 deletions
diff --git a/src-tauri/src/northstar/mod.rs b/src-tauri/src/northstar/mod.rs
index 9837ece4..0b37c3f6 100644
--- a/src-tauri/src/northstar/mod.rs
+++ b/src-tauri/src/northstar/mod.rs
@@ -7,6 +7,15 @@ use crate::util::check_ea_app_or_origin_running;
use crate::{constants::CORE_MODS, platform_specific::get_host_os, GameInstall, InstallType};
use crate::{NorthstarThunderstoreRelease, NorthstarThunderstoreReleaseWrapper};
use anyhow::anyhow;
+use serde::{Deserialize, Serialize};
+use ts_rs::TS;
+
+#[derive(Serialize, Deserialize, Debug, Clone, TS)]
+#[ts(export)]
+pub struct NorthstarLaunchOptions {
+ launch_via_steam: bool,
+ bypass_checks: bool,
+}
/// Gets list of available Northstar versions from Thunderstore
#[tauri::command]
@@ -150,13 +159,11 @@ pub fn get_northstar_version_number(game_install: GameInstall) -> Result<String,
#[tauri::command]
pub fn launch_northstar(
game_install: GameInstall,
- launch_via_steam: Option<bool>,
- bypass_checks: Option<bool>,
+ launch_options: NorthstarLaunchOptions,
) -> Result<String, String> {
dbg!(game_install.clone());
- let launch_via_steam = launch_via_steam.unwrap_or(false);
- if launch_via_steam {
+ if launch_options.launch_via_steam {
return launch_northstar_steam(game_install);
}
@@ -175,10 +182,8 @@ pub fn launch_northstar(
return launch_northstar_steam(game_install);
}
- let bypass_checks = bypass_checks.unwrap_or(false);
-
// Only check guards if bypassing checks is not enabled
- if !bypass_checks {
+ if !launch_options.bypass_checks {
// Some safety checks before, should have more in the future
if get_northstar_version_number(game_install.clone()).is_err() {
return Err(anyhow!("Not all checks were met").to_string());