public IGpsData Decode(TextReader reader) { Tokenizer tok = new Tokenizer(reader, ','); string type = tok.GetString(); if (s_decoderMap.ContainsKey(type)) { IGpsData obj = (IGpsData)Activator.CreateInstance(s_decoderMap[type]); obj.Decode(tok); return(obj); } return(null); }
private void DecodeSentence(Stream strm) { StreamReader rdr = new StreamReader(strm); IGpsData obj = (IGpsData)m_sentenceReader.Decode(rdr); if (obj != null) { if (obj is RMC) { HandleSentence((RMC)obj); } else if (obj is GGA) { HandleSentence((GGA)obj); } if (GpsDataUpdated != null) { GpsDataUpdated(); } } }