use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Default, Deserialize, Serialize)]
pub struct TrackPointExtension {
#[serde(rename = "atemp", default, skip_serializing_if = "Option::is_none")]
pub atemp: Option<f64>,
#[serde(rename = "wtemp", default, skip_serializing_if = "Option::is_none")]
pub wtemp: Option<f64>,
#[serde(rename = "depth", default, skip_serializing_if = "Option::is_none")]
pub depth: Option<f64>,
#[serde(rename = "hr", default, skip_serializing_if = "Option::is_none")]
pub hr: Option<u8>,
#[serde(rename = "cad", default, skip_serializing_if = "Option::is_none")]
pub cad: Option<u8>,
}
#[derive(Debug, Clone, PartialEq, Eq, Default, Deserialize, Serialize)]
pub struct PowerExtension {
#[serde(
rename = "PowerInWatts",
default,
skip_serializing_if = "Option::is_none"
)]
pub power_in_watts: Option<u16>,
}
#[derive(Debug, Clone, PartialEq, Eq, Default, Deserialize, Serialize)]
pub struct TrackExtension {
#[serde(rename = "DisplayColor", default, skip_serializing_if = "Option::is_none")]
pub display_color: Option<String>,
}
pub const GPXTPTX_NS_V1: &str = "http://www.garmin.com/xmlschemas/TrackPointExtension/v1";
pub const GPXTPTX_NS_V2: &str = "http://www.garmin.com/xmlschemas/TrackPointExtension/v2";
pub const GPPXPX_NS_V1: &str = "http://www.garmin.com/xmlschemas/PowerExtension/v1";
pub const GPXX_NS_V3: &str = "http://www.garmin.com/xmlschemas/GpxExtensions/v3";