liftinstall/src/main.rs

66 lines
1.2 KiB
Rust
Raw Normal View History

2018-01-27 03:27:41 +00:00
#![windows_subsystem = "windows"]
2018-01-26 12:29:28 +00:00
extern crate web_view;
extern crate tiny_http;
extern crate includedir;
extern crate phf;
2018-01-27 03:27:41 +00:00
extern crate serde;
#[macro_use]
extern crate serde_derive;
extern crate serde_json;
extern crate toml;
2018-01-27 04:02:49 +00:00
extern crate nfd;
2018-01-26 12:29:28 +00:00
mod assets;
2018-01-27 03:27:41 +00:00
mod rest;
mod config;
mod installer;
2018-01-26 12:29:28 +00:00
use web_view::*;
2018-01-27 03:27:41 +00:00
use config::Config;
use installer::InstallerFramework;
2018-01-26 12:29:28 +00:00
2018-01-27 03:27:41 +00:00
use rest::WebServer;
// TODO: Fetch this over a HTTP request?
static RAW_CONFIG : &'static str = include_str!("../config.toml");
2018-01-26 12:29:28 +00:00
fn main() {
2018-01-27 03:27:41 +00:00
let config = Config::from_toml_str(RAW_CONFIG).unwrap();
let app_name = config.general.name.clone();
2018-01-27 03:27:41 +00:00
let framework = InstallerFramework::new(config);
let server = WebServer::new(framework).unwrap();
2018-01-26 12:29:28 +00:00
// Startup HTTP server for handling the web view
2018-01-27 03:27:41 +00:00
let http_address = format!("http://{}", server.get_addr());
println!("{}", http_address);
server.start();
2018-01-26 12:29:28 +00:00
// Init the web view
let size = (1024, 550);
let resizable = false;
let debug = true;
let init_cb = |_| {};
let userdata = ();
run(
&format!("{} Installer", app_name),
2018-01-26 12:29:28 +00:00
&http_address,
Some(size),
resizable,
debug,
init_cb,
/* frontend_cb: */ |_, _, _| {},
userdata
);
}