
#include <iostream>
#include <iomanip>
#include <string.h>

#include "pppThread.h"
#include "bnccore.h"
#include "bncsettings.h" 
#include "bnctime.h" 

using namespace std;

// Constructor
////////////////////////////////////////////////////////////////////////////
t_pppThread::t_pppThread() : QThread(0) {
}

// Destructor
////////////////////////////////////////////////////////////////////////////
t_pppThread::~t_pppThread() {
}

// Run (virtual)
////////////////////////////////////////////////////////////////////////////
void t_pppThread::run() {

  bncSettings settings;

  // Connect to BNC Signals
  // ----------------------
  connect(BNC_CORE, SIGNAL(newCorrections(QList<QString>)),
          this, SLOT(slotNewCorrections(QList<QString>)));

  connect(BNC_CORE, SIGNAL(newEphGPS(gpsephemeris)),
          this, SLOT(slotNewEphGPS(gpsephemeris)));

  connect(BNC_CORE, SIGNAL(newEphGlonass(glonassephemeris)),
          this, SLOT(slotNewEphGlonass(glonassephemeris)));

  connect(BNC_CORE, SIGNAL(newEphGalileo(galileoephemeris)),
          this, SLOT(slotNewEphGalileo(galileoephemeris)));
 
  // Start processing loop
  // ---------------------
  QThread::exec();
}

// 
////////////////////////////////////////////////////////////////////////////
void t_pppThread::slotNewEphGPS(gpsephemeris gpseph) {
  QMutexLocker locker(&_mutex);
}

// 
////////////////////////////////////////////////////////////////////////////
void t_pppThread::slotNewEphGlonass(glonassephemeris gloeph) {
  QMutexLocker locker(&_mutex);
}
  
// 
////////////////////////////////////////////////////////////////////////////
void t_pppThread::slotNewEphGalileo(galileoephemeris /* galeph */) {
  QMutexLocker locker(&_mutex);
}

// 
////////////////////////////////////////////////////////////////////////////
void t_pppThread::slotNewCorrections(QList<QString> corrList) {
  QMutexLocker locker(&_mutex);
}
//
////////////////////////////////////////////////////////////////////////////
void t_pppThread::slotNewObs(QByteArray staID, QList<t_obs> obsList) {
  QMutexLocker locker(&_mutex);
}
    
//
////////////////////////////////////////////////////////////////////////////
void t_pppThread::processFrontEpoch() {
}
