use std::rc::Rc; use uuid::Uuid; use crate::gpx::{Link, Track, WaypointChunk}; #[derive(Debug)] pub struct GPXFile { pub id: Uuid, pub info: GPXFileInfo, pub trk: Vec, pub wpt: Vec>, // TODO routes } impl Default for GPXFile { fn default() -> Self { Self { id: Uuid::new_v4(), info: Default::default(), trk: Default::default(), wpt: Default::default(), } } } #[derive(Debug, Default)] pub struct GPXFileInfo { pub name: String, pub desc: Option, pub author: Option, pub link: Option, pub time: Option, } #[derive(Debug, Default)] pub struct Author { pub name: Option, pub email: Option, pub link: Option, }