1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
use crate::fields::identity::*; use crate::fields::parameter::*; use crate::messages::*; #[derive(Debug, PartialEq)] pub struct Sentence<'a> { pub sentence_type: SentenceType, pub talker: Talker, pub message: Message<'a>, } #[derive(Debug, PartialEq)] pub enum Message<'a> { DTM(DTMMessage<'a>), GBQ(GBQMessage<'a>), GBS(GBSMessage), GGA(GGAMessage), GLL(GLLMessage), GLQ(GLQMessage<'a>), GNQ(GNQMessage<'a>), GNS(GNSMessage), GPQ(GPQMessage<'a>), GRS(GRSMessage), GSA(GSAMessage), GST(GSTMessage), GSV(GSVMessage), RMC(RMCMessage), TXT(TXTMessage<'a>), VLW(VLWMessage), VTG(VTGMessage), ZDA(ZDAMessage), } #[derive(Debug, PartialEq)] pub(crate) enum MessageType { DTM, GBQ, GBS, GGA, GLL, GLQ, GNQ, GNS, GPQ, GRS, GSA, GST, GSV, RMC, TXT, VLW, VTG, ZDA, }