Index: /trunk/BNC/bnccaster.cpp
===================================================================
--- /trunk/BNC/bnccaster.cpp	(revision 1999)
+++ /trunk/BNC/bnccaster.cpp	(revision 2000)
@@ -47,4 +47,5 @@
 #include "bncutils.h"
 #include "bncsettings.h"
+#include "bncpppthread.h"
 #include "RTCM/GPSDecoder.h"
 
@@ -250,4 +251,13 @@
   _staIDs.push_back(getThread->staID());
   _threads.push_back(getThread);
+
+  bncPPPthread* PPPthread = getThread->PPPthread();
+  if (PPPthread) {
+    connect(this, SIGNAL(newEpochData(QList<p_obs>)),
+	    PPPthread, SLOT(slotNewEpochData(QList<p_obs>)));
+    connect(((bncApp*)qApp), SIGNAL(newEphGPS(gpsephemeris)),
+	    PPPthread, SLOT(slotNewEphGPS(gpsephemeris)));
+    PPPthread->start();
+  }
 
   getThread->start();
Index: /trunk/BNC/bncgetthread.cpp
===================================================================
--- /trunk/BNC/bncgetthread.cpp	(revision 1999)
+++ /trunk/BNC/bncgetthread.cpp	(revision 2000)
@@ -63,4 +63,5 @@
 #include "bncsettings.h"
 #include "latencychecker.h"
+#include "bncpppthread.h"
 
 #include "RTCM/RTCM2Decoder.h"
@@ -122,4 +123,5 @@
   _nextSleep     = 0;
   _rawOutFile    = 0;
+  _PPPthread     = 0;
 
   bncSettings settings;
@@ -289,4 +291,5 @@
     emit(newMessage(_staID + ": Get data in RTCM 2.x format", true));
     _decoder = new RTCM2Decoder(_staID.data());
+    _PPPthread = new bncPPPthread(_staID);
   }
   else if (_format.indexOf("RTCM_3") != -1 || _format.indexOf("RTCM3") != -1 ||
@@ -296,8 +299,10 @@
     connect((RTCM3Decoder*) _decoder, SIGNAL(newMessage(QByteArray,bool)), 
             this, SIGNAL(newMessage(QByteArray,bool)));
+    _PPPthread = new bncPPPthread(_staID);
   }
   else if (_format.indexOf("RTIGS") != -1) {
     emit(newMessage(_staID + ": Get data in RTIGS format", true));
     _decoder = new RTIGSDecoder();
+    _PPPthread = new bncPPPthread(_staID);
   }
   else if (_format.indexOf("GPSS") != -1 || _format.indexOf("BNC") != -1) {
@@ -322,4 +327,8 @@
 ////////////////////////////////////////////////////////////////////////////
 bncGetThread::~bncGetThread() {
+
+  if (_PPPthread) {
+    _PPPthread->terminate();
+  }
 
   if (isRunning()) {
Index: /trunk/BNC/bncgetthread.h
===================================================================
--- /trunk/BNC/bncgetthread.h	(revision 1999)
+++ /trunk/BNC/bncgetthread.h	(revision 2000)
@@ -39,4 +39,5 @@
 class QextSerialPort;
 class latencyChecker;
+class bncPPPthread;
 
 class bncGetThread : public QThread {
@@ -72,4 +73,5 @@
    QByteArray longitude() const {return _longitude;}
    QByteArray ntripVersion() const {return _ntripVersion;}
+   bncPPPthread* PPPthread() {return _PPPthread;}
 
  signals:
@@ -121,4 +123,5 @@
    t_serialNMEA    _serialNMEA;
    QMutex          _mutex;
+   bncPPPthread*   _PPPthread;
 };
 
