Index: trunk/BNC/bnc.pro
===================================================================
--- trunk/BNC/bnc.pro	(revision 1344)
+++ trunk/BNC/bnc.pro	(revision 1345)
@@ -29,4 +29,5 @@
           bnccaster.h bncrinex.h bncapp.h bncutils.h   bnchlpdlg.h    \
           bncconst.h bnchtml.h bnctableitem.h bnczerodecoder.h        \
+          bncsocket.h                                                 \
           RTCM/GPSDecoder.h RTCM/RTCM2.h RTCM/RTCM2Decoder.h          \
           RTCM/RTCM2_2021.h RTCM/rtcm_utils.h                         \
@@ -46,5 +47,5 @@
           bnccaster.cpp bncrinex.cpp bncapp.cpp bncutils.cpp          \
           bncconst.cpp bnchtml.cpp bnchlpdlg.cpp bnctableitem.cpp     \
-          bnczerodecoder.cpp                                          \
+          bnczerodecoder.cpp bncsocket.cpp                            \
           RTCM/RTCM2.cpp RTCM/RTCM2Decoder.cpp                        \
           RTCM/RTCM2_2021.cpp RTCM/rtcm_utils.cpp                     \
Index: trunk/BNC/bncgetthread.cpp
===================================================================
--- trunk/BNC/bncgetthread.cpp	(revision 1344)
+++ trunk/BNC/bncgetthread.cpp	(revision 1345)
@@ -54,4 +54,5 @@
 #include "bncrinex.h"
 #include "bnczerodecoder.h"
+#include "bncsocket.h"
 
 #include "RTCM/RTCM2Decoder.h"
@@ -303,8 +304,8 @@
 // Connect to Caster, send the Request (static)
 ////////////////////////////////////////////////////////////////////////////
-QTcpSocket* bncGetThread::request(const QUrl& mountPoint,
-                                  QByteArray& latitude, QByteArray& longitude,
-                                  QByteArray& nmea, int timeOut, 
-                                  QString& msg) {
+bncSocket* bncGetThread::request(const QUrl& mountPoint,
+                                 QByteArray& latitude, QByteArray& longitude,
+                                 QByteArray& nmea, int timeOut, 
+                                 QString& msg) {
 
   // Connect the Socket
@@ -314,5 +315,5 @@
   int     proxyPort = settings.value("proxyPort").toInt();
  
-  QTcpSocket* socket = new QTcpSocket();
+  bncSocket* socket = new bncSocket(new QTcpSocket());
   if ( proxyHost.isEmpty() ) {
     socket->connectToHost(mountPoint.host(), mountPoint.port());
Index: trunk/BNC/bncgetthread.h
===================================================================
--- trunk/BNC/bncgetthread.h	(revision 1344)
+++ trunk/BNC/bncgetthread.h	(revision 1345)
@@ -37,4 +37,5 @@
 class bncRinex;
 class QextSerialPort;
+class bncSocket;
 
 class bncGetThread : public QThread {
@@ -51,6 +52,6 @@
    ~bncGetThread();
 
-   static QTcpSocket* request(const QUrl& mountPoint, QByteArray& latitude, QByteArray& longitude,
-                              QByteArray& nmea, int timeOut, QString& msg);
+   static bncSocket* request(const QUrl& mountPoint, QByteArray& latitude, QByteArray& longitude,
+                             QByteArray& nmea, int timeOut, QString& msg);
 
    QByteArray staID() const {return _staID;}
@@ -80,5 +81,5 @@
    void  callScript(const char* _comment);
    GPSDecoder* _decoder;
-   QTcpSocket* _socket;
+   bncSocket*  _socket;
    QUrl        _mountPoint;
    QByteArray  _staID;
Index: trunk/BNC/bncnetrequest.cpp
===================================================================
--- trunk/BNC/bncnetrequest.cpp	(revision 1344)
+++ trunk/BNC/bncnetrequest.cpp	(revision 1345)
@@ -99,5 +99,13 @@
   while (it.hasNext()) {
     p_obs obs = it.next();
-    cout << obs->_o.satNum << endl;
+    cout << obs->_o.satSys   << obs->_o.satNum   << " " 
+         << obs->_o.GPSWeek  << " " 
+         << obs->_o.GPSWeeks << " " 
+         << obs->_o.C1       << " " 
+         << obs->_o.C2       << " "
+         << obs->_o.P1       << " " 
+         << obs->_o.P2       << " "
+         << obs->_o.L1       << " " 
+         << obs->_o.L2       << endl;
     delete obs;
   }
Index: trunk/BNC/bncrinex.cpp
===================================================================
--- trunk/BNC/bncrinex.cpp	(revision 1344)
+++ trunk/BNC/bncrinex.cpp	(revision 1345)
@@ -54,4 +54,5 @@
 #include "bnctabledlg.h"
 #include "bncgetthread.h"
+#include "bncsocket.h"
 #include "RTCM3/rtcm3torinex.h"
 
@@ -156,5 +157,5 @@
     QByteArray _longitude;
     QByteArray _nmea;
-    QTcpSocket* socket = bncGetThread::request(url, _latitude, _longitude, _nmea, timeOut, msg);
+    bncSocket* socket = bncGetThread::request(url, _latitude, _longitude, _nmea, timeOut, msg);
 
     if (socket) {
Index: trunk/BNC/bncsocket.cpp
===================================================================
--- trunk/BNC/bncsocket.cpp	(revision 1344)
+++ trunk/BNC/bncsocket.cpp	(revision 1345)
@@ -36,5 +36,5 @@
 ////////////////////////////////////////////////////////////////////////////
 void bncSocket::connectToHost(const QString &hostName, quint16 port, 
-                              OpenMode mode) {
+                              QIODevice::OpenMode mode) {
   _socket->connectToHost(hostName, port, mode);
 }
@@ -54,12 +54,47 @@
 // 
 ////////////////////////////////////////////////////////////////////////////
-qint64 bncSocket::readData(char* data, qint64 maxSize) {
-  return _socket->read(data, maxSize);
+void bncSocket::close() {
+  _socket->close();
 }
 
 // 
 ////////////////////////////////////////////////////////////////////////////
-qint64 bncSocket::writeData(const char* data, qint64 maxSize) {
-  return _socket->write(data, maxSize);
+qint64 bncSocket::bytesAvailable() const {
+  return _socket->bytesAvailable();
 }
 
+// 
+////////////////////////////////////////////////////////////////////////////
+bool bncSocket::canReadLine() const {
+  return _socket->canReadLine();
+}
+
+// 
+////////////////////////////////////////////////////////////////////////////
+QByteArray bncSocket::readLine(qint64 maxlen) {
+  return _socket->readLine(maxlen);
+}
+
+// 
+////////////////////////////////////////////////////////////////////////////
+bool bncSocket::waitForReadyRead(int msecs) {
+  return _socket->waitForReadyRead(msecs);
+}
+
+// 
+////////////////////////////////////////////////////////////////////////////
+qint64 bncSocket::read(char* data, qint64 maxlen) {
+  return _socket->read(data, maxlen);
+}
+
+// 
+////////////////////////////////////////////////////////////////////////////
+qint64 bncSocket::write(const char* data, qint64 len) {
+  return _socket->write(data, len);
+}
+
+// 
+////////////////////////////////////////////////////////////////////////////
+bool bncSocket::waitForBytesWritten(int msecs) {
+  return _socket->waitForBytesWritten(msecs);
+}
Index: trunk/BNC/bncsocket.h
===================================================================
--- trunk/BNC/bncsocket.h	(revision 1344)
+++ trunk/BNC/bncsocket.h	(revision 1345)
@@ -4,6 +4,5 @@
 #include <QtNetwork>
 
-class bncSocket : public QIODevice {
- Q_OBJECT
+class bncSocket : public QObject {
 
  public:
@@ -11,18 +10,16 @@
   ~bncSocket();
 
-  void connectToHost(const QString &hostName, quint16 port, 
-                     OpenMode mode = QIODevice::ReadWrite);
-
-  bool waitForConnected(int msecs = 30000);
-
+  void       close();
+  qint64     bytesAvailable() const;
+  bool       canReadLine() const;
+  QByteArray readLine(qint64 maxlen = 0);
+  bool       waitForReadyRead(int msecs = 30000);
+  qint64     read(char *data, qint64 maxlen);
+  qint64     write(const char *data, qint64 len);
+  bool       waitForBytesWritten(int msecs = 30000);
+  void       connectToHost(const QString &hostName, quint16 port, 
+                           QIODevice::OpenMode mode = QIODevice::ReadWrite);
+  bool       waitForConnected(int msecs = 30000);
   QAbstractSocket::SocketState state() const;
-
- protected:
-  virtual qint64 readData(char* data, qint64 maxSize);
-  virtual qint64 writeData(const char* data, qint64 maxSize);
-
- signals:
-
- private slots:
 
  private:
Index: trunk/BNC/bnctabledlg.cpp
===================================================================
--- trunk/BNC/bnctabledlg.cpp	(revision 1344)
+++ trunk/BNC/bnctabledlg.cpp	(revision 1345)
@@ -41,4 +41,5 @@
 #include "bnctabledlg.h"
 #include "bncgetthread.h"
+#include "bncsocket.h"
 
 // Constructor
@@ -162,5 +163,5 @@
   QByteArray _longitude;
   QByteArray _nmea;
-  QTcpSocket* socket = bncGetThread::request(url, _latitude, _longitude, _nmea, timeOut, msg);
+  bncSocket* socket = bncGetThread::request(url, _latitude, _longitude, _nmea, timeOut, msg);
 
   if (!socket) {
Index: trunk/BNC/ntrip2test.cpp
===================================================================
--- trunk/BNC/ntrip2test.cpp	(revision 1344)
+++ trunk/BNC/ntrip2test.cpp	(revision 1345)
@@ -13,10 +13,10 @@
 
 
-//  bncNetRequest* req1 = new bncNetRequest();
-//  QUrl url1("http://euref-ip.bkg.bund.de:2111/");
-//  req1->request(url1);
+  bncNetRequest* req1 = new bncNetRequest();
+  QUrl url1("http://euref-ip.bkg.bund.de:2111/");
+  req1->request(url1);
 
   bncNetRequest* req2 = new bncNetRequest();
-  QUrl url2("http://ntrip2c:rtcm2c@euref-ip.bkg.bund.de:2111/TEST1");
+  QUrl url2("http://ntrip2c:rtcm2c@euref-ip.bkg.bund.de:2111/TEST2");
   req2->request(url2);
 
