pacenotes_installer\worker/
install_run.rs1pub struct InstallJob {
5 pub base_url: String,
6 pub cache_root: std::path::PathBuf,
7 pub game_dir: std::path::PathBuf,
8 pub game: pacenotes_installer::gamedir::Game,
9 pub selection: Vec<String>,
11 pub picks: std::collections::BTreeMap<String, String>,
13 pub choice_categories: Vec<String>,
14 pub facts: pacenotes_installer::engine::HostFacts,
16 pub cancel: std::sync::Arc<std::sync::atomic::AtomicBool>,
17}
18
19pub fn run_install(job: InstallJob, reporter: &super::Reporter) -> super::Message {
22 let cache = pacenotes_installer::cache::Cache::open(&job.cache_root);
23 match super::apply_selection::apply_selection(&job, &cache, reporter) {
24 Ok(applied) => super::Message::Installed(super::Outcome::Done { applied }),
25 Err(message) => super::Message::Installed(super::Outcome::Failed(message)),
26 }
27}