Diffstat (limited to 'noncore/net/wellenreiter/gui/gps.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/net/wellenreiter/gui/gps.cpp | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/noncore/net/wellenreiter/gui/gps.cpp b/noncore/net/wellenreiter/gui/gps.cpp index 3206655..288afee 100644 --- a/noncore/net/wellenreiter/gui/gps.cpp +++ b/noncore/net/wellenreiter/gui/gps.cpp @@ -17,2 +17,5 @@ #include <unistd.h> + +#include <qtextstream.h> + GPS::GPS( QObject* parent, const char * name ) @@ -37,3 +40,3 @@ bool GPS::open( const QString& host, int port ) -float GPS::latitude() const +GpsLocation GPS::position() const { @@ -49,17 +52,17 @@ float GPS::latitude() const { + QTextStream stream( _socket ); - int num = _socket->readLine( &buf[0], sizeof buf ); - if ( num ) - { - qDebug( "GPS got %d bytes ['%s']", num, &buf[0] ); - return 0.0; - } - } + QString str; + stream.readRawBytes( &buf[0], 7 ); + float lat = -111.111; + stream >> lat; + stream.skipWhiteSpace(); + float lon = -111.111; + stream >> lon; + stream.readRawBytes( &buf[0], 200 ); // read and discard the stuff until EOF + + return GpsLocation( lat, lon ); } - return -1.0; } - - -float GPS::longitute() const -{ + return GpsLocation( -1.0, -1.0 ); } |