From 71e299192e462eef49bd950c79616232ebe1bcc3 Mon Sep 17 00:00:00 2001 From: GeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com> Date: Tue, 13 Feb 2024 00:29:02 +0100 Subject: refactor: Pass object to backend instead of individual args (#798) Instead of passing individual args to `launch_northstar` in the backend, pass a single object. The idea here being that said object can later easily be extended with more fields such as launch args for Northstar --- src-tauri/src/northstar/mod.rs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'src-tauri/src') 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, - bypass_checks: Option, + launch_options: NorthstarLaunchOptions, ) -> Result { 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()); -- cgit v1.2.3