nmeaparser.h

来自「SYMBIAN GPS NMEA协议实现」· C头文件 代码 · 共 62 行

H
62
字号
/************************************************************************/
/* Bluteooth Test           The.Berlin.Factor                 Juni 2003 */
/************************************************************************/

#ifndef __CNmeaParser_H__
#define __CNmeaParser_H__

#include <E32Base.h>



// Einfacher Parser fuer das Verarbeiten von NMEA Messages.
class CNmeaParser : public CBase {

public:

	// Initialisiert den Parser mit einer neuen NMEA Message. Dabei darf
	// die uebergebene Nachricht solange nicht veraendert werden, wie
	// mittels #GetNextTokenInto auf sie zugegriffen wird!
	void SetData( TDesC8 & aNmeaMessage );

	// Kopiert das naechste Token (also die Elemente zwischen den Kommas
	// der Message) in den angegebenen Buffer. Ist das Ende der Nachricht
	// erreicht, bleibt der Puffer leer.
	void GetNextTokenIntoL( TDes8 & aBuffer );

	// Ueberspringt das naechste Token der Message.
	void SkipNextTokenL( );

	// Liest die beiden folgenden Token und interpretiert sie als Winkel-
	// und North/South-Angabe.
	TReal GetNextTokensAsLatitudeL( );

	// Liest die beiden folgenden Token und interpretiert sie als Winkel-
	// und East/West-Angabe.
	TReal GetNextTokensAsLongitudeL( );

	// Returns the next token interpreted as a TInt value.
	TInt GetNextTokenAsIntL( );

	// Returns the next token interpreted as a TReal value.
	TReal GetNextTokenAsRealL( );

	// Entfernt die interne Referenz auf die in #SetData uebergebene
	// Message.
	void ClearData( );


private:

	// Enthaelt den Pointer auf die aktuell (mit #SetData) gesetzte
	// Message.
	TDesC8 * iMessage;

	// Enthaelt die aktuelle Parse Position innerhalb der aktuellen
	// Message.
	TInt iParsePosition;

};

#endif 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?