blob: 56950496094bae9f02470d1168a68dd6901c1e62 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
use std::sync::Mutex;
use cacao::appkit::App;
use installer_downloader::environment::{Environment, Error as EnvError};
use ui::{Action, AppImpl};
mod delegate;
mod ui;
pub fn main() {
let app = App::new("net.mullvad.MullvadVPNLoader", AppImpl::default());
// Load "global" values and resources
let environment = match Environment::load() {
Ok(env) => env,
Err(EnvError::Arch) => {
unreachable!("The CPU architecture will always be retrievable on macOS")
}
};
let cb: Mutex<Option<ui::MainThreadCallback>> = Mutex::new(Some(Box::new(|self_| {
crate::controller::initialize_controller(self_, environment);
})));
cacao::appkit::App::<ui::AppImpl, _>::dispatch_main(Action::QueueMain(cb));
app.run();
}
|