aboutsummaryrefslogtreecommitdiff
path: root/src-tauri/src
diff options
context:
space:
mode:
Diffstat (limited to 'src-tauri/src')
-rw-r--r--src-tauri/src/lib.rs13
-rw-r--r--src-tauri/src/main.rs17
2 files changed, 28 insertions, 2 deletions
diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs
index 626f083b..58a04c5e 100644
--- a/src-tauri/src/lib.rs
+++ b/src-tauri/src/lib.rs
@@ -88,3 +88,16 @@ pub fn get_northstar_version_number() -> Result<String, anyhow::Error> {
Ok(initial_version_number)
}
+
+/// Checks whether the provided path is a valid Titanfall2 gamepath by checking against a certain set of criteria
+pub fn check_is_valid_game_path(game_install_path: &str) -> Result<(), anyhow::Error> {
+ let is_correct_game_path =
+ std::path::Path::new(&format!("{}/Titanfall2.exe", game_install_path)).exists();
+ println!("Titanfall2.exe exists in path? {}", is_correct_game_path);
+
+ // Exit early if wrong game path
+ if !is_correct_game_path {
+ return Err(anyhow!("Incorrect game path \"{}\"", game_install_path)); // Return error cause wrong game path
+ }
+ Ok(())
+}
diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs
index e81be131..34dcc39c 100644
--- a/src-tauri/src/main.rs
+++ b/src-tauri/src/main.rs
@@ -8,7 +8,7 @@ use std::{
time::Duration,
};
-use app::{find_game_install_location, get_northstar_version_number};
+use app::{check_is_valid_game_path, find_game_install_location, get_northstar_version_number};
use tauri::{Manager, State};
use tokio::time::sleep;
@@ -47,7 +47,8 @@ fn main() {
find_game_install_location_caller,
get_version_number,
get_northstar_version_number_caller,
- check_is_northstar_outdated
+ check_is_northstar_outdated,
+ verify_install_location
])
.run(tauri::generate_context!())
.expect("error while running tauri application");
@@ -107,3 +108,15 @@ fn check_is_northstar_outdated() -> bool {
// TODO implement check
false
}
+
+#[tauri::command]
+/// Checks if is valid Titanfall2 install based on certain conditions
+fn verify_install_location(game_path: String) -> bool {
+ match check_is_valid_game_path(&game_path) {
+ Ok(()) => true,
+ Err(err) => {
+ println!("{}", err);
+ false
+ }
+ }
+}