summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2003-09-08 15:00:19 (UTC)
committer mickeyl <mickeyl>2003-09-08 15:00:19 (UTC)
commitb3299bab3370865e0e498fd2f7f84f3abbd17e77 (patch) (side-by-side diff)
tree86f51a21e5cbd8483cc334cb966a10d7352b7867
parent913788f77c3f501778b7653317a4a6b06452961d (diff)
downloadopie-b3299bab3370865e0e498fd2f7f84f3abbd17e77.zip
opie-b3299bab3370865e0e498fd2f7f84f3abbd17e77.tar.gz
opie-b3299bab3370865e0e498fd2f7f84f3abbd17e77.tar.bz2
Note to self: QSocket buffers!
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/gps.cpp11
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
{
}