using GpsClient2.NmeaMessages;
using System;
namespace GpsClient2 {
public class NmeaParser {
///
/// Parses a string to the NmeaMessage class.
///
/// The nmea string that need to be parsed.
/// Returns an NmeaMessage class. If it cannot parse it will return null.
public NmeaMessage Parse(string message) {
if (!message.StartsWith("$")) {
return null;
}
var messageParts = message.RemoveAfter("*").Split(',');
var classType = NmeaConstants.GetClassType(messageParts[0].TrimStart('$'));
var newInstance = (NmeaMessage)Activator.CreateInstance(classType);
newInstance.Parse(messageParts);
return newInstance;
}
}
}