Changeset 622 in ntrip for trunk/BNC/bnccaster.cpp


Ignore:
Timestamp:
Dec 16, 2007, 4:27:13 PM (16 years ago)
Author:
mervart
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/bnccaster.cpp

    r605 r622  
    8383  }
    8484
    85   _epochs = new QMultiMap<long, Observation*>;
     85  _epochs = new QMultiMap<long, p_obs>;
    8686
    8787  _lastDumpSec   = 0;
     
    109109  delete _sockets;
    110110  if (_epochs) {
    111     QListIterator<Observation*> it(_epochs->values());
     111    QListIterator<p_obs> it(_epochs->values());
    112112    while (it.hasNext()) {
    113113      delete it.next();
     
    119119// New Observations
    120120////////////////////////////////////////////////////////////////////////////
    121 void bncCaster::newObs(const QByteArray staID, bool firstObs,
    122                        Observation* obs) {
     121void bncCaster::newObs(const QByteArray staID, bool firstObs, p_obs obs) {
    123122
    124123  QMutexLocker locker(&_mutex);
    125124
    126   long iSec    = long(floor(obs->GPSWeeks+0.5));
    127   long newTime = obs->GPSWeek * 7*24*3600 + iSec;
     125  long iSec    = long(floor(obs->_o.GPSWeeks+0.5));
     126  long newTime = obs->_o.GPSWeek * 7*24*3600 + iSec;
    128127
    129128  // Rename the Station
    130129  // ------------------
    131   strncpy(obs->StatID, staID.constData(),sizeof(obs->StatID));
    132   obs->StatID[sizeof(obs->StatID)-1] = '\0';
     130  strncpy(obs->_o.StatID, staID.constData(),sizeof(obs->_o.StatID));
     131  obs->_o.StatID[sizeof(obs->_o.StatID)-1] = '\0';
    133132       
    134133  // First time, set the _lastDumpSec immediately
     
    174173////////////////////////////////////////////////////////////////////////////
    175174void bncCaster::addGetThread(bncGetThread* getThread) {
    176   connect(getThread, SIGNAL(newObs(const QByteArray, bool, Observation*)),
    177           this,      SLOT(newObs(const QByteArray, bool, Observation*)));
     175  connect(getThread, SIGNAL(newObs(const QByteArray, bool, p_obs)),
     176          this,      SLOT(newObs(const QByteArray, bool, p_obs)));
    178177
    179178  connect(getThread, SIGNAL(error(const QByteArray)),
     
    208207
    209208    bool first = true;
    210     QList<Observation*> allObs = _epochs->values(sec);
    211     QListIterator<Observation*> it(allObs);
     209    QList<p_obs> allObs = _epochs->values(sec);
     210    QListIterator<p_obs> it(allObs);
    212211    while (it.hasNext()) {
    213       Observation* obs = it.next();
     212      p_obs obs = it.next();
    214213
    215214      if (_samplingRate == 0 || sec % _samplingRate == 0) {
     
    221220            _out->setFieldWidth(1); *_out << begEpoch << endl;;
    222221          }
    223           _out->setFieldWidth(0); *_out << obs->StatID;
    224           _out->setFieldWidth(1); *_out << " " << obs->satSys;
     222          _out->setFieldWidth(0); *_out << obs->_o.StatID;
     223          _out->setFieldWidth(1); *_out << " " << obs->_o.satSys;
    225224          _out->setPadChar('0');
    226           _out->setFieldWidth(2); *_out << obs->satNum;
     225          _out->setFieldWidth(2); *_out << obs->_o.satNum;
    227226          _out->setPadChar(' ');
    228227          _out->setFieldWidth(1); *_out << " ";
    229           _out->setFieldWidth(4); *_out << obs->GPSWeek;
    230           _out->setFieldWidth(1); *_out << " ";
    231           _out->setFieldWidth(14); _out->setRealNumberPrecision(7); *_out << obs->GPSWeeks;
    232           _out->setFieldWidth(1); *_out << " ";
    233           _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->C1;
    234           _out->setFieldWidth(1); *_out << " ";
    235           _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->C2;
    236           _out->setFieldWidth(1); *_out << " ";
    237           _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->P1;
    238           _out->setFieldWidth(1); *_out << " ";
    239           _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->P2;
    240           _out->setFieldWidth(1); *_out << " ";
    241           _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->L1;
    242           _out->setFieldWidth(1); *_out << " ";
    243           _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->L2;
    244           _out->setFieldWidth(1); *_out << " ";
    245           _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->S1;
    246           _out->setFieldWidth(1); *_out << " ";
    247           _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->S2;
     228          _out->setFieldWidth(4); *_out << obs->_o.GPSWeek;
     229          _out->setFieldWidth(1); *_out << " ";
     230          _out->setFieldWidth(14); _out->setRealNumberPrecision(7); *_out << obs->_o.GPSWeeks;
     231          _out->setFieldWidth(1); *_out << " ";
     232          _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->_o.C1;
     233          _out->setFieldWidth(1); *_out << " ";
     234          _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->_o.C2;
     235          _out->setFieldWidth(1); *_out << " ";
     236          _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->_o.P1;
     237          _out->setFieldWidth(1); *_out << " ";
     238          _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->_o.P2;
     239          _out->setFieldWidth(1); *_out << " ";
     240          _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->_o.L1;
     241          _out->setFieldWidth(1); *_out << " ";
     242          _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->_o.L2;
     243          _out->setFieldWidth(1); *_out << " ";
     244          _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->_o.S1;
     245          _out->setFieldWidth(1); *_out << " ";
     246          _out->setFieldWidth(14); _out->setRealNumberPrecision(3); *_out << obs->_o.S2;
    248247          _out->setFieldWidth(1);
    249           *_out << " " << obs->SNR1 << " " << obs->SNR2 << endl;
     248          *_out << " " << obs->_o.SNR1 << " " << obs->_o.SNR2 << endl;
    250249          if (!it.hasNext()) {
    251250            _out->setFieldWidth(1); *_out << endEpoch << endl;
     
    257256        // ----------------------
    258257        if (_sockets) {
    259           int numBytes = sizeof(*obs);
     258          int numBytes = sizeof(obs->_o);
    260259          QListIterator<QTcpSocket*> is(*_sockets);
    261260          while (is.hasNext()) {
     
    266265              }
    267266              sock->write(&begObs, 1);
    268               sock->write((char*) obs, numBytes);
     267              sock->write((char*) &obs->_o, numBytes);
    269268              if (!it.hasNext()) {
    270269                sock->write(&endEpoch, 1);
Note: See TracChangeset for help on using the changeset viewer.