Index: trunk/BNC/bnc.pro
===================================================================
--- trunk/BNC/bnc.pro	(revision 1998)
+++ trunk/BNC/bnc.pro	(revision 1999)
@@ -38,5 +38,5 @@
           bncnetqueryudp0.h bncudpport.h                              \ 
           bncserialport.h bncnetquerys.h bncfigure.h                  \ 
-          bncfigurelate.h                                             \ 
+          bncfigurelate.h bncpppthread.h                              \ 
           RTCM/GPSDecoder.h RTCM/RTCM2.h RTCM/RTCM2Decoder.h          \
           RTCM/RTCM2_2021.h RTCM/rtcm_utils.h                         \
@@ -61,5 +61,5 @@
           bncnetqueryudp0.cpp bncudpport.cpp                          \
           bncserialport.cpp bncnetquerys.cpp bncfigure.cpp            \
-          bncfigurelate.cpp                                           \
+          bncfigurelate.cpp bncpppthread.cpp                          \
           RTCM/RTCM2.cpp RTCM/RTCM2Decoder.cpp                        \
           RTCM/RTCM2_2021.cpp RTCM/rtcm_utils.cpp                     \
Index: trunk/BNC/bnccaster.cpp
===================================================================
--- trunk/BNC/bnccaster.cpp	(revision 1998)
+++ trunk/BNC/bnccaster.cpp	(revision 1999)
@@ -290,4 +290,7 @@
     bool first = true;
     QList<p_obs> allObs = _epochs->values(sec);
+
+    emit newEpochData(allObs);
+
     QListIterator<p_obs> it(allObs);
     while (it.hasNext()) {
Index: trunk/BNC/bnccaster.h
===================================================================
--- trunk/BNC/bnccaster.h	(revision 1998)
+++ trunk/BNC/bnccaster.h	(revision 1999)
@@ -51,4 +51,5 @@
    void getThreadsFinished();   
    void newMessage(QByteArray msg, bool showOnScreen);
+   void newEpochData(QList<p_obs>);
 
  private slots:
Index: trunk/BNC/bncpppthread.cpp
===================================================================
--- trunk/BNC/bncpppthread.cpp	(revision 1999)
+++ trunk/BNC/bncpppthread.cpp	(revision 1999)
@@ -0,0 +1,100 @@
+// Part of BNC, a utility for retrieving decoding and
+// converting GNSS data streams from NTRIP broadcasters.
+//
+// Copyright (C) 2007
+// German Federal Agency for Cartography and Geodesy (BKG)
+// http://www.bkg.bund.de
+// Czech Technical University Prague, Department of Geodesy
+// http://www.fsv.cvut.cz
+//
+// Email: euref-ip@bkg.bund.de
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation, version 2.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+/* -------------------------------------------------------------------------
+ * BKG NTRIP Client
+ * -------------------------------------------------------------------------
+ *
+ * Class:      bncPPPthread
+ *
+ * Purpose:    Precise Point Positioning
+ *
+ * Author:     L. Mervart
+ *
+ * Created:    21-Nov-2009
+ *
+ * Changes:    
+ *
+ * -----------------------------------------------------------------------*/
+
+#include <iomanip>
+
+#include "bncpppthread.h"
+
+using namespace std;
+
+// Constructor
+////////////////////////////////////////////////////////////////////////////
+bncPPPthread::bncPPPthread(QByteArray staID) {
+  _staID         = staID;
+  _isToBeDeleted = false;
+}
+
+// Destructor
+////////////////////////////////////////////////////////////////////////////
+bncPPPthread::~bncPPPthread() {
+  if (isRunning()) {
+    wait();
+  }
+}
+
+// 
+////////////////////////////////////////////////////////////////////////////
+void bncPPPthread::terminate() {
+  _isToBeDeleted = true;
+  if (!isRunning()) {
+    delete this;
+  }
+}
+
+// Run
+////////////////////////////////////////////////////////////////////////////
+void bncPPPthread::run() {
+  while (true) {
+    try {
+      if (_isToBeDeleted) {
+        QThread::exit(0);
+        this->deleteLater();
+        return;
+      }
+
+    }
+    catch (...) {
+      emit(newMessage(_staID + "bncPPPthread exception", true));
+      _isToBeDeleted = true;
+    }
+  }
+}
+
+// 
+////////////////////////////////////////////////////////////////////////////
+void bncPPPthread::slotNewEpochData(QList<p_obs>) {
+
+}
+
+// 
+////////////////////////////////////////////////////////////////////////////
+void bncPPPthread::slotNewEphGPS(gpsephemeris gpseph) {
+
+}
Index: trunk/BNC/bncpppthread.h
===================================================================
--- trunk/BNC/bncpppthread.h	(revision 1999)
+++ trunk/BNC/bncpppthread.h	(revision 1999)
@@ -0,0 +1,63 @@
+// Part of BNC, a utility for retrieving decoding and
+// converting GNSS data streams from NTRIP broadcasters.
+//
+// Copyright (C) 2007
+// German Federal Agency for Cartography and Geodesy (BKG)
+// http://www.bkg.bund.de
+// Czech Technical University Prague, Department of Geodesy
+// http://www.fsv.cvut.cz
+//
+// Email: euref-ip@bkg.bund.de
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation, version 2.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#ifndef BNCPPPTHREAD_H
+#define BNCPPPTHREAD_H
+
+#include <QThread>
+#include <QtNetwork>
+
+#include "RTCM/GPSDecoder.h"
+#include "RTCM3/rtcm3torinex.h"
+
+class bncPPPthread : public QThread {
+ Q_OBJECT
+
+ public:
+  bncPPPthread(QByteArray staID);
+
+ protected:
+  ~bncPPPthread();
+
+ public:
+  void terminate();
+
+ signals:
+  void newMessage(QByteArray msg, bool showOnScreen);
+
+
+ protected:
+  virtual void run();
+
+ public slots:
+  void slotNewEpochData(QList<p_obs>);
+  void slotNewEphGPS(gpsephemeris gpseph);
+
+ private:
+  QByteArray      _staID;
+  bool            _isToBeDeleted;
+  QMutex          _mutex;
+};
+
+#endif
