source: ntrip/branches/BNC_2.12/src/bncrinex.h @ 8351

Last change on this file since 8351 was 8351, checked in by stuerze, 15 months ago

individual satellite system will be considerred now during concatenation of ephemeris files

File size: 2.9 KB
Line 
1// Part of BNC, a utility for retrieving decoding and
2// converting GNSS data streams from NTRIP broadcasters.
3//
4// Copyright (C) 2007
5// German Federal Agency for Cartography and Geodesy (BKG)
6// http://www.bkg.bund.de
7// Czech Technical University Prague, Department of Geodesy
8// http://www.fsv.cvut.cz
9//
10// Email: euref-ip@bkg.bund.de
11//
12// This program is free software; you can redistribute it and/or
13// modify it under the terms of the GNU General Public License
14// as published by the Free Software Foundation, version 2.
15//
16// This program is distributed in the hope that it will be useful,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19// GNU General Public License for more details.
20//
21// You should have received a copy of the GNU General Public License
22// along with this program; if not, write to the Free Software
23// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24
25#ifndef BNCRINEX_H
26#define BNCRINEX_H
27
28#include <QtCore>
29#include <fstream>
30
31#include "bncconst.h"
32#include "satObs.h"
33#include "rinex/rnxobsfile.h"
34
35class bncRinex {
36 public:
37   bncRinex(const QByteArray& statID, const QUrl& mountPoint, 
38            const QByteArray& latitude, const QByteArray& longitude,
39            const QByteArray& nmea, const QByteArray& ntripVersion); 
40   ~bncRinex();
41
42   int  samplingRate() const {return _samplingRate;}
43   void deepCopy(t_satObs obs);
44   void dumpEpoch(const QByteArray& format, const bncTime& maxTime);
45   void setReconnectFlag(bool flag){_reconnectFlag = flag;}
46
47   static QString nextEpochStr(const QDateTime& datTim,
48                               const QString& intStr, 
49                               bool rnxV3,
50                               QDateTime* nextEpoch = 0);
51   static std::string asciiSatLine(const t_satObs& obs);
52
53 private:
54   void resolveFileName(const QDateTime& datTim);
55   bool readSkeleton();
56   void writeHeader(const QByteArray& format, const bncTime& firstObsTime);
57   void closeFile();
58   t_irc downloadSkeleton();
59
60   QByteArray      _statID;
61   QByteArray      _fName;
62   QList<t_satObs> _obs;
63   std::ofstream   _out;
64   bool            _headerWritten;
65   QDateTime       _nextCloseEpoch;
66   QString         _rnxScriptName;
67   QUrl            _mountPoint;
68   QString         _pgmName;
69   QString         _userName;
70   QString         _sklName;
71   bool            _writeRinexFileOnlyWithSkl;
72   bool            _rnxV3;
73   QByteArray      _latitude;
74   QByteArray      _longitude;
75   QByteArray      _nmea;
76   QByteArray      _ntripVersion;
77   bool            _reconnectFlag;
78   QDate           _skeletonDate;
79   int             _samplingRate;
80   QStringList     _addComments;
81
82   QMap<QString, int>  _slip_cnt_L1;
83   QMap<QString, int>  _slip_cnt_L2;
84   QMap<QString, int>  _slip_cnt_L5;
85
86   t_rnxObsHeader _sklHeader;
87   t_rnxObsHeader _header;
88};
89
90#endif
Note: See TracBrowser for help on using the repository browser.