Index: trunk/BNC/bncpppthread.cpp
===================================================================
--- trunk/BNC/bncpppthread.cpp	(revision 2023)
+++ trunk/BNC/bncpppthread.cpp	(revision 2024)
@@ -54,4 +54,5 @@
   _staID         = staID;
   _isToBeDeleted = false;
+  _data          = 0;
 }
 
@@ -62,4 +63,5 @@
     wait();
   }
+  delete _data;
   QMapIterator<QString, t_eph*> it(_eph);
   while (it.hasNext()) {
@@ -93,5 +95,5 @@
         return;
       }
-
+      processEpoch();
     }
     catch (...) {
@@ -111,7 +113,20 @@
     t_obsInternal* obs = &(pp->_o);
     QByteArray staID = QByteArray(obs->StatID); 
-    cout << "DATA " << obs->GPSWeek << " " << obs->GPSWeeks << " " 
-         << staID.data() << " " 
-         << obs->satSys << obs->satNum << endl;
+    if (staID == _staID) {
+      if (!_data) {
+        _data = new t_data();
+        _data->GPSWeek  = obs->GPSWeek;
+        _data->GPSWeeks = obs->GPSWeeks;
+      }
+      ++_data->numSat;
+      _data->prn[_data->numSat] = 
+          QString("%1%2").arg(obs->satSys).arg(obs->satNum, 2, 10, QChar('0'));
+      _data->C1[_data->numSat] = obs->C1;
+      _data->C2[_data->numSat] = obs->C2;
+      _data->P1[_data->numSat] = obs->P1;
+      _data->P2[_data->numSat] = obs->P2;
+      _data->L1[_data->numSat] = obs->L1;
+      _data->L2[_data->numSat] = obs->L2;
+    }
   }
 }
@@ -161,2 +176,23 @@
   }
 }
+
+// 
+////////////////////////////////////////////////////////////////////////////
+void bncPPPthread::processEpoch() {
+  QMutexLocker locker(&_mutex);
+
+  if (!_data) {
+    return;
+  }
+
+  for (int is = 1; is <= _data->numSat; is++) {
+    cout << is << " " << _data->prn[is].toAscii().data() << " " 
+         << _data->C1[is] << " " << _data->P1[is] << endl;
+  }
+
+  cout << endl;
+  cout.flush();
+
+  delete _data;
+  _data = 0;
+}
Index: trunk/BNC/bncpppthread.h
===================================================================
--- trunk/BNC/bncpppthread.h	(revision 2023)
+++ trunk/BNC/bncpppthread.h	(revision 2024)
@@ -32,5 +32,25 @@
 #include "RTCM3/ephemeris.h"
 
-struct t_corr {
+#define MAXPRN = 
+
+class t_data {
+ public:
+  static const unsigned MAXOBS = 16;
+  t_data() {numSat = 0;}
+  ~t_data() {}
+  int     GPSWeek;
+  double  GPSWeeks;
+  int     numSat;  
+  QString prn[MAXOBS+1];
+  double  C1[MAXOBS+1];
+  double  C2[MAXOBS+1];
+  double  P1[MAXOBS+1];
+  double  P2[MAXOBS+1];
+  double  L1[MAXOBS+1];
+  double  L2[MAXOBS+1];
+};
+
+class t_corr {
+ public:
   int    iod;
   double dClk;
@@ -63,4 +83,5 @@
 
  private:
+  void processEpoch();
   QByteArray             _staID;
   bool                   _isToBeDeleted;
@@ -68,4 +89,5 @@
   QMap<QString, t_eph*>  _eph;
   QMap<QString, t_corr*> _corr;
+  t_data*                _data;
 };
 
