Beispiel #1
0
        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);
        }
Beispiel #2
0
        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();
                }
            }
        }