feat(process manager): launch games with log files

This commit is contained in:
DecDuck
2024-12-15 17:29:21 +11:00
parent 269dcbb6f3
commit 3f71149289
11 changed files with 191 additions and 31 deletions
+5 -2
View File
@@ -26,6 +26,7 @@ use log4rs::append::file::FileAppender;
use log4rs::config::{Appender, Root};
use log4rs::encode::pattern::PatternEncoder;
use log4rs::Config;
use process::process_commands::launch_game;
use process::process_manager::ProcessManager;
use remote::{gen_drop_url, use_remote};
use serde::{Deserialize, Serialize};
@@ -67,7 +68,7 @@ pub struct AppState {
#[serde(skip_serializing)]
download_manager: Arc<DownloadManager>,
#[serde(skip_serializing)]
process_manager: Arc<ProcessManager>,
process_manager: Arc<Mutex<ProcessManager>>,
}
#[tauri::command]
@@ -104,7 +105,7 @@ fn setup(handle: AppHandle) -> AppState {
let games = HashMap::new();
let download_manager = Arc::new(DownloadManagerBuilder::build(handle));
let process_manager = Arc::new(ProcessManager::new());
let process_manager = Arc::new(Mutex::new(ProcessManager::new()));
debug!("Checking if database is set up");
let is_set_up = DB.database_is_set_up();
@@ -168,6 +169,8 @@ pub fn run() {
move_game_in_queue,
pause_game_downloads,
resume_game_downloads,
// Processes
launch_game,
])
.plugin(tauri_plugin_shell::init())
.plugin(tauri_plugin_dialog::init())