use chrono::{DateTime, Utc};
pub enum AltitudeType {
StandardPressureAltitude,
IndicatedAltitude,
}
pub enum TrackType {
Heading,
GroundTrack
}
pub enum TransponderType {
Unknown,
ModeS,
AdsB {
version: u8
}
}
pub struct Aircraft {
pub altitude: Option<i32>,
pub altitude_type: AltitudeType,
pub call_sign: Option<String>,
pub country: String,
pub distance: u32,
pub geometric_altitude: Option<i32>,
pub is_on_ground: bool,
pub icao: String,
pub is_interesting: bool,
pub latitude: f32,
pub longitude: f32,
pub is_military: bool,
pub is_mlat: bool,
pub operator_icao: Option<String>,
pub has_position: bool,
pub position_time: DateTime<Utc>,
pub registration: Option<String>,
pub is_satcom: bool,
pub speed: f32,
pub squawk: Option<String>,
pub target_altitude: Option<i32>,
pub is_tisb: bool,
pub track: Option<f32>,
pub track_type: TrackType,
pub transponder_type: TransponderType,
pub target_track: Option<f32>,
pub icao_type: Option<String>,
pub vertical_speed: i32,
}