author | mickeyl <mickeyl> | 2003-09-08 15:00:19 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2003-09-08 15:00:19 (UTC) |
commit | b3299bab3370865e0e498fd2f7f84f3abbd17e77 (patch) (side-by-side diff) | |
tree | 86f51a21e5cbd8483cc334cb966a10d7352b7867 /noncore | |
parent | 913788f77c3f501778b7653317a4a6b06452961d (diff) | |
download | opie-b3299bab3370865e0e498fd2f7f84f3abbd17e77.zip opie-b3299bab3370865e0e498fd2f7f84f3abbd17e77.tar.gz opie-b3299bab3370865e0e498fd2f7f84f3abbd17e77.tar.bz2 |
Note to self: QSocket buffers!
-rw-r--r-- | noncore/net/wellenreiter/gui/gps.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/noncore/net/wellenreiter/gui/gps.cpp b/noncore/net/wellenreiter/gui/gps.cpp index 4a24647..3206655 100644 --- a/noncore/net/wellenreiter/gui/gps.cpp +++ b/noncore/net/wellenreiter/gui/gps.cpp @@ -1,65 +1,66 @@ /********************************************************************** ** Copyright (C) 2003 Michael 'Mickey' Lauer. All rights reserved. ** ** This file is part of Opie Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** **********************************************************************/ #include "gps.h" - +#include <unistd.h> GPS::GPS( QObject* parent, const char * name ) :QObject( parent, name ) { qDebug( "GPS::GPS()" ); _socket = new QSocket( this, "gpsd commsock" ); } GPS::~GPS() { qDebug( "GPS::~GPS()" ); } bool GPS::open( const QString& host, int port ) { _socket->connectToHost( host, port ); } float GPS::latitude() const { char buf[256]; int result = _socket->writeBlock( "p\r\n", 3 ); + _socket->flush(); if ( result ) { - qDebug( "GPS write succeeded" ); - _socket->waitForMore( 20 ); - if ( _socket->canReadLine() ) + int numAvail = _socket->bytesAvailable(); + qDebug( "GPS write succeeded, %d bytes available for reading...", numAvail ); + if ( numAvail ) { int num = _socket->readLine( &buf[0], sizeof buf ); if ( num ) { - qDebug( "GPS got line: %s", &buf ); + qDebug( "GPS got %d bytes ['%s']", num, &buf[0] ); return 0.0; } } } return -1.0; } float GPS::longitute() const { } |