summaryrefslogtreecommitdiff
path: root/src/app/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/main.rs')
-rw-r--r--src/app/main.rs48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/app/main.rs b/src/app/main.rs
new file mode 100644
index 0000000..bd82623
--- /dev/null
+++ b/src/app/main.rs
@@ -0,0 +1,48 @@
+/*
+ Copyright 2023 Gabriel Jensen.
+
+ This file is part of aas.
+
+ aas is free software: you can redistribute it
+ and/or modify it under the terms of the GNU
+ General Public License as published by the Free
+ Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ aas is distributed in the hope that it will
+ be useful, but WITHOUT ANY WARRANTY; without
+ even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU
+ General Public License along with aas. If not,
+ see <https://www.gnu.org/licenses/>.
+*/
+
+use crate::log;
+use crate::app::App;
+
+use std::process::exit;
+
+impl App {
+ pub fn main() -> ! {
+ let app = match App::init() {
+ Ok(app) => app,
+
+ Err(message) => {
+ log!(error, "{message}");
+ exit(0x1);
+ },
+ };
+
+ exit(match app.run() {
+ Err(message) => {
+ log!(error, "{message}");
+ 0x1
+ },
+
+ _ => 0x0,
+ });
+ }
+}