Changeset 243 in ntrip


Ignore:
Timestamp:
Oct 13, 2006, 9:41:15 AM (18 years ago)
Author:
mervart
Message:

* empty log message *

Location:
trunk/BNC
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/RTCM/RTCM2Decoder.cpp

    r242 r243  
    77#include "../bncutils.h"
    88#include "GPSDecoder.h"
    9 #include "RTCM2.h"
     9#include "RTCM2Decoder.h"
    1010
    1111using namespace std;
  • trunk/BNC/RTCM/RTCM2Decoder.h

    r242 r243  
    1515  public:
    1616    RTCM2Decoder();
    17     ~RTCMDecoder2();
     17    ~RTCM2Decoder();
    1818    virtual void Decode(char* buffer, int bufLen);
    1919
  • trunk/BNC/bnc.pro

    r207 r243  
    1414          bnccaster.h bncrinex.h bncapp.h bncutils.h   bnchlpdlg.h    \
    1515          bncconst.h bnchtml.h bnctableitem.h                         \
    16           RTCM/GPSDecoder.h RTCM/RTCM2.h                              \
     16          RTCM/GPSDecoder.h RTCM/RTCM2.h RTCM/RTCM2Decoder.h          \
    1717          RTCM3/rtcm3.h RTCM3/rtcm3torinex.h                          \
    1818          RTIGS/rtigs.h RTIGS/cgps_transform.h RTIGS/rtacp.h          \
     
    2323          bnccaster.cpp bncrinex.cpp bncapp.cpp bncutils.cpp          \
    2424          bncconst.cpp bnchtml.cpp bnchlpdlg.cpp bnctableitem.cpp     \
    25           RTCM/RTCM2.cpp                                              \
     25          RTCM/RTCM2.cpp RTCM/RTCM2Decoder.cpp                        \
    2626          RTCM3/rtcm3.cpp RTCM3/rtcm3torinex.cpp                      \
    2727          RTIGS/rtigs.cpp RTIGS/cgps_transform.cpp
  • trunk/BNC/bncapp.cpp

    r199 r243  
    4848void bncApp::slotMessage(const QByteArray msg) {
    4949
     50  QMutexLocker locker(&_mutex);
     51
    5052  // First time resolve the log file name
    5153  // ------------------------------------
  • trunk/BNC/bncapp.h

    r157 r243  
    66#include <QFile>
    77#include <QTextStream>
     8
     9#include "bnccaster.h"
     10
     11extern bncCaster* _global_caster;
    812
    913class bncApp : public QApplication {
     
    2024    int          _logFileFlag;
    2125    QString      _bncVersion;
     26    QMutex       _mutex;
    2227};
    2328#endif
  • trunk/BNC/bnccaster.cpp

    r230 r243  
    8383}
    8484
    85 // Run
    86 ////////////////////////////////////////////////////////////////////////////
    87 void bncCaster::run() {
    88   exec();
    89 }
    90 
    9185// New Observations
    9286////////////////////////////////////////////////////////////////////////////
    93 void bncCaster::slotNewObs(const QByteArray& staID, Observation* obs) {
     87void bncCaster::newObs(const QByteArray& staID, Observation* obs) {
     88
     89  QMutexLocker locker(&_mutex);
    9490
    9591  long iSec    = long(floor(obs->GPSWeeks+0.5));
     
    149145////////////////////////////////////////////////////////////////////////////
    150146void bncCaster::addGetThread(bncGetThread* getThread) {
    151   connect(getThread, SIGNAL(newObs(const QByteArray&, Observation*)),
    152           this, SLOT(slotNewObs(const QByteArray&, Observation*)));
    153 
    154147  connect(getThread, SIGNAL(error(const QByteArray&)),
    155148          this, SLOT(slotGetThreadError(const QByteArray&)));
     
    162155////////////////////////////////////////////////////////////////////////////
    163156void bncCaster::slotGetThreadError(const QByteArray& staID) {
     157  QMutexLocker locker(&_mutex);
    164158  _staIDs.removeAll(staID);
    165159  emit( newMessage(
  • trunk/BNC/bnccaster.h

    r186 r243  
    44
    55#include <QFile>
    6 #include <QThread>
    76#include <QtNetwork>
    87#include <QMultiMap>
     
    1312class bncGetThread;
    1413
    15 class bncCaster : public QThread {
     14class bncCaster : public QObject {
    1615 Q_OBJECT
    1716
     
    2120   void addGetThread(bncGetThread* getThread);
    2221   int  numStations() const {return _staIDs.size();}
     22   void newObs(const QByteArray& staID, Observation* obs);
     23
    2324
    2425 signals:
     
    2627   void newMessage(const QByteArray& msg);
    2728
    28  public slots:
    29    void slotNewObs(const QByteArray& staID, Observation* obs);
    30 
    3129 private slots:
    3230   void slotNewConnection();
    3331   void slotGetThreadError(const QByteArray& staID);
    34 
    35  protected:
    36    virtual void run();
    3732
    3833 private:
     
    5146   int                            _samplingRate;
    5247   long                           _waitTime;
     48   QMutex                         _mutex;
    5349};
    5450
  • trunk/BNC/bncgetthread.cpp

    r237 r243  
    2222#include "bncgetthread.h"
    2323#include "bnctabledlg.h"
    24 
    25 #include "RTCM/RTCM2.h"
     24#include "bncapp.h"
     25
     26#include "RTCM/RTCM2Decoder.h"
    2627#include "RTCM3/rtcm3.h"
    2728#include "RTIGS/rtigs.h"
     
    181182    if      (_format.indexOf("RTCM_2") != -1) {
    182183      emit(newMessage("Get Data: " + _staID + " in RTCM 2.x format"));
    183       _decoder = new RTCM2();
     184      _decoder = new RTCM2Decoder();
    184185    }
    185186    else if (_format.indexOf("RTCM_3") != -1) {
     
    232233      for (list<Observation*>::iterator it = _decoder->_obsList.begin();
    233234           it != _decoder->_obsList.end(); it++) {
    234         emit newObs(_staID, *it);
     235        _global_caster->newObs(_staID, *it);
    235236      }
    236237      _decoder->_obsList.clear();
  • trunk/BNC/bncmain.cpp

    r180 r243  
    2424
    2525using namespace std;
     26
     27bncCaster* _global_caster = 0;
    2628
    2729// Main Program
     
    7577  // ----------------------------
    7678  else {
    77     bncCaster* caster = new bncCaster(settings.value("outFile").toString(),
    78                                       settings.value("outPort").toInt());
     79    _global_caster = new bncCaster(settings.value("outFile").toString(),
     80                                   settings.value("outPort").toInt());
    7981
    80     app.connect(caster, SIGNAL(getThreadErrors()), &app, SLOT(quit()));
    81     app.connect(caster, SIGNAL(newMessage(const QByteArray&)),
     82    app.connect(_global_caster, SIGNAL(getThreadErrors()), &app, SLOT(quit()));
     83    app.connect(_global_caster, SIGNAL(newMessage(const QByteArray&)),
    8284                &app, SLOT(slotMessage(const QByteArray&)));
    8385
    84     caster->start();
    85    
    8686    QListIterator<QString> it(settings.value("mountPoints").toStringList());
    8787    while (it.hasNext()) {
     
    9494                  &app, SLOT(slotMessage(const QByteArray&)));
    9595
    96       caster->addGetThread(getThread);
     96      _global_caster->addGetThread(getThread);
    9797
    9898      getThread->start();
    9999    }
    100     if (caster->numStations() == 0) {
     100    if (_global_caster->numStations() == 0) {
    101101      return 0;
    102102    }
  • trunk/BNC/bncwindow.cpp

    r240 r243  
    221221  layout->addWidget(_logFileLineEdit,                           10, 2, 1, 3);
    222222  layout->addWidget(_log,                                       11, 0, 1, 5);
    223 
    224   _bncCaster = 0;
    225223}
    226224
     
    369367  _actStop->setEnabled(true);
    370368
    371   _bncCaster = new bncCaster(_outFileLineEdit->text(),
     369  _global_caster = new bncCaster(_outFileLineEdit->text(),
    372370                             _outPortLineEdit->text().toInt());
    373371
    374   connect(_bncCaster, SIGNAL(getThreadErrors()),
     372  connect(_global_caster, SIGNAL(getThreadErrors()),
    375373          this, SLOT(slotGetThreadErrors()));
    376374
    377   connect(_bncCaster, SIGNAL(newMessage(const QByteArray&)),
     375  connect(_global_caster, SIGNAL(newMessage(const QByteArray&)),
    378376          this, SLOT(slotMessage(const QByteArray&)));
    379   connect(_bncCaster, SIGNAL(newMessage(const QByteArray&)),
     377  connect(_global_caster, SIGNAL(newMessage(const QByteArray&)),
    380378          (bncApp*)qApp, SLOT(slotMessage(const QByteArray&)));
    381 
    382   _bncCaster->start();
    383379
    384380  for (int iRow = 0; iRow < _mountPointsTable->rowCount(); iRow++) {
     
    399395            SLOT(slotNewObs(const QByteArray&, Observation*)));
    400396
    401     _bncCaster->addGetThread(getThread);
     397    _global_caster->addGetThread(getThread);
    402398
    403399    getThread->start();
     
    412408                                   QMessageBox::NoButton);
    413409  if (iRet == QMessageBox::Yes) {
    414     _bncCaster->terminate();
    415     _bncCaster->wait();
    416     delete _bncCaster;
    417     _bncCaster = 0;
     410    delete _global_caster; _global_caster = 0;
    418411    _actGetData->setEnabled(true);
    419412    _actStop->setEnabled(false);
  • trunk/BNC/bncwindow.h

    r182 r243  
    66
    77#include "bncgetthread.h"
    8 #include "bnccaster.h"
    98
    109class bncWindow : public QMainWindow {
     
    6463
    6564    QWidget*   _canvas;
    66 
    67     bncCaster* _bncCaster;
    6865};
    6966#endif
Note: See TracChangeset for help on using the changeset viewer.