mirror of
https://github.com/Drop-OSS/drop-app.git
synced 2025-11-13 08:12:44 +10:00
29 lines
838 B
Rust
29 lines
838 B
Rust
use std::sync::Mutex;
|
|
|
|
use crate::{download_manager::downloadable_metadata::DownloadableMetadata, AppState};
|
|
|
|
#[tauri::command]
|
|
pub fn launch_game(
|
|
game_id: DownloadableMetadata,
|
|
state: tauri::State<'_, Mutex<AppState>>,
|
|
) -> Result<(), String> {
|
|
let state_lock = state.lock().unwrap();
|
|
let mut process_manager_lock = state_lock.process_manager.lock().unwrap();
|
|
|
|
process_manager_lock.launch_process(game_id)?;
|
|
|
|
drop(process_manager_lock);
|
|
drop(state_lock);
|
|
|
|
Ok(())
|
|
}
|
|
|
|
#[tauri::command]
|
|
pub fn kill_game(
|
|
game_id: DownloadableMetadata,
|
|
state: tauri::State<'_, Mutex<AppState>>,
|
|
) -> Result<(), String> {
|
|
let state_lock = state.lock().unwrap();
|
|
let mut process_manager_lock = state_lock.process_manager.lock().unwrap();
|
|
process_manager_lock.kill_game(game_id).map_err(|x| x.to_string())
|
|
} |