sct_reader/loaders/euroscope/
mod.rs1use std::{fs::File, io::BufReader, str::FromStr};
2
3use error::Error;
4pub mod colour;
5pub mod error;
6pub mod line;
7pub(crate) mod partial;
8pub mod position;
9pub mod reader;
10pub mod sector;
11pub mod waypoint;
12pub mod symbology;
13pub mod loader;
14mod asr;
15pub use asr::EsAsr;
16
17pub type SectorResult<T> = std::result::Result<T, error::Error>;
18
19#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
20pub enum AirspaceClass {
21 A,
22 B,
23 C,
24 D,
25 E,
26 F,
27 G,
28}
29impl FromStr for AirspaceClass {
30 type Err = Error;
31 fn from_str(s: &str) -> Result<Self, Self::Err> {
32 let result = match s {
33 "A" => AirspaceClass::A,
34 "B" => AirspaceClass::B,
35 "C" => AirspaceClass::C,
36 "D" => AirspaceClass::D,
37 "E" => AirspaceClass::E,
38 "F" => AirspaceClass::F,
39 "G" => AirspaceClass::G,
40 _ => return Err(Error::InvalidAirspaceClass),
41 };
42 Ok(result)
43 }
44}