summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/launcher.rs35
-rw-r--r--src/lib.rs1
2 files changed, 36 insertions, 0 deletions
diff --git a/src/launcher.rs b/src/launcher.rs
new file mode 100644
index 0000000..695406a
--- /dev/null
+++ b/src/launcher.rs
@@ -0,0 +1,35 @@
+use std::collections::BTreeMap;
+
+use chrono::{DateTime, Utc};
+use serde::Deserialize;
+
+use super::version::{*, manifest::*};
+
+#[derive(Deserialize, Debug)]
+struct RemoteVersionIndexEntry {
+ last_update: DateTime<Utc>
+}
+
+#[derive(Deserialize, Debug)]
+struct RemoteVersionIndex {
+ versions: BTreeMap<String, RemoteVersionIndexEntry>
+}
+
+struct RemoteVersionList {
+ manifest: VersionManifest,
+ index: RemoteVersionIndex
+}
+
+struct LocalVersionList {
+ versions: BTreeMap<String, CompleteVersion>
+}
+
+struct VersionList {
+ offline: bool,
+ remote: Option<RemoteVersionList>,
+ local: LocalVersionList
+}
+
+impl VersionList {
+
+}
diff --git a/src/lib.rs b/src/lib.rs
index 81c2f21..5f506fc 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1 +1,2 @@
mod version;
+mod launcher;