📄 gpsreceiverbase.h
字号:
/************************************************************************/
/* Bluteooth Test The.Berlin.Factor Juni 2003 */
/************************************************************************/
#ifndef __CGpsReceiverBase_H__
#define __CGpsReceiverBase_H__
#include <E32Base.h>
#include "gps/GpsPosition.h"
#include "gps/GpsReceiver.h"
#include "gps/nmea/NmeaParser.h"
class MGpsListener;
class MLog;
// Abstrakte Basisklasse fuer Objekte welche die Anbindung an einen GPS
// Empfaenger implementieren. Uebernimmt das Handling der interessierten
// Listener.
class CGpsReceiverBase : public CBase, public MGpsReceiver {
public:
// Meldet ein an Positions-Updates interessiertes Objekt an.
void AddListenerL( MGpsListener * aListener );
// Meldet ein nicht mehr an Positions-Updates interessiertes Objekt ab.
void RemoveListenerL( MGpsListener * aListener );
protected:
// Geschuetzter Konstruktor fuer konkrete Unterklassen.
CGpsReceiverBase( );
// Geschuetzter virtueller Konstruktor. Nur die konkrete Unterklasse
// darf zerstoert werden.
virtual ~CGpsReceiverBase( );
protected:
// Meldet eine Positionsaktualisierung an die zur Zeit angemeldeten
// Listener.
void SendUpdate( const TGpsPosition & aNewPosition );
// Kann fuer eine NMEA Message aufgerufen werden. Das $ muss sich dann
// bei [0] befinden und hinter dem letzten Zeichen der Message muss
// noch ein \n stehen.
void ProcessMessageL( TDesC8 & aCommand );
// Falls es sich um eine GPGGA Message handelt, wird hiermit die
// Position ausgelesen.
void ProcessGPGGAMsgL( TDesC8 & aCommand );
// Falls es sich um eine GPGLL Message handelt, wird hiermit die
// Position ausgelesen.
void ProcessGPGLLMsgL( TDesC8 & aCommand );
// Falls es sich um eine GPVTG Message handelt, wird dise hiermit
// ausgelesen.
void ProcessGPVTGMsgL( TDesC8 & aCommand );
protected:
// Hilfsobjekt fuer das Lesen von NMEA Messages.
CNmeaParser iNmeaParser;
private:
// Enthaelt die zuletzt gesendete Position. Diese wird im Falle des
// Auftretens einer GPVTG Message (Kursdaten) erweitert und erneut
// - dann mit Kursdaten - gesendet.
TGpsPosition iLastPosition;
private:
// Enthaelt die angemeldeten Listener.
RPointerArray< MGpsListener > iListeners;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -