source: ntrip/trunk/BNC/src/bncsettings.cpp@ 7967

Last change on this file since 7967 was 7889, checked in by stuerze, 10 years ago

BNC's ephemeris upload is extended to allows an upload of more than one stream and to choose a single satellite system

File size: 8.9 KB
RevLine 
[1535]1/* -------------------------------------------------------------------------
2 * BKG NTRIP Client
3 * -------------------------------------------------------------------------
4 *
5 * Class: bncSettings
6 *
7 * Purpose: Subclasses the QSettings
8 *
9 * Author: L. Mervart
10 *
11 * Created: 25-Jan-2009
12 *
[7297]13 * Changes:
[1535]14 *
15 * -----------------------------------------------------------------------*/
16
[4072]17#include <QSettings>
18
[1535]19#include "bncsettings.h"
[5070]20#include "bnccore.h"
[1535]21
[7297]22QMutex bncSettings::_mutex; // static mutex
[4073]23
[1535]24// Constructor
25////////////////////////////////////////////////////////////////////////////
[4077]26bncSettings::bncSettings() {
[4073]27 QMutexLocker locker(&_mutex);
[1536]28
[4070]29 // First fill the options
[7297]30 // ----------------------
[5068]31 if (BNC_CORE->_settings.size() == 0) {
[4251]32 reRead();
[1536]33 }
[1535]34}
35
[4070]36// Destructor
37////////////////////////////////////////////////////////////////////////////
38bncSettings::~bncSettings() {
39}
40
[4251]41// (Re-)read the Options from File or Set the Defaults
42////////////////////////////////////////////////////////////////////////////
43void bncSettings::reRead() {
44
[5068]45 BNC_CORE->_settings.clear();
[4251]46
[5068]47 QSettings settings(BNC_CORE->confFileName(), QSettings::IniFormat);
[4251]48
[5080]49#ifdef GNSSCENTER_PLUGIN
50 settings.beginGroup("BNC");
51#endif
52
[4251]53 // Read from File
54 // --------------
55 if (settings.allKeys().size() > 0) {
56 QStringListIterator it(settings.allKeys());
57 while (it.hasNext()) {
58 QString key = it.next();
[5068]59 BNC_CORE->_settings[key] = settings.value(key);
[4251]60 }
61 }
62
63 // Set Defaults
64 // ------------
65 else {
66 setValue_p("startTab", "0");
67 setValue_p("statusTab", "0");
[6828]68 setValue_p("font", "");
[7297]69 setValue_p("casterUrlList", (QStringList()
70 << "http://user:pass@www.euref-ip.net:2101"
71 << "http://user:pass@www.igs-ip.net:2101"
[4251]72 << "http://user:pass@products.igs-ip.net:2101"
73 << "http://user:pass@mgex.igs-ip.net:2101"));
74 setValue_p("mountPoints", "");
[7175]75 setValue_p("ntripVersion", "2");
[4251]76 // Network
77 setValue_p("proxyHost", "");
78 setValue_p("proxyPort", "");
79 setValue_p("sslCaCertPath", "");
[7513]80 setValue_p("sslIgnoreErrors", "0");
[4251]81 // General
82 setValue_p("logFile", "");
83 setValue_p("rnxAppend", "0");
84 setValue_p("onTheFlyInterval", "1 day");
85 setValue_p("autoStart", "0");
86 setValue_p("rawOutFile", "");
87 // RINEX Observations
88 setValue_p("rnxPath", "");
89 setValue_p("rnxIntr", "1 day");
[6827]90 setValue_p("rnxOnlyWithSKL", "");
[4251]91 setValue_p("rnxSampl", "0");
92 setValue_p("rnxSkel", "SKL");
[6827]93 setValue_p("rnxV2Priority", "");
[4251]94 setValue_p("rnxScript", "");
95 setValue_p("rnxV3", "0");
[7173]96 setValue_p("rnxV3filenames", "0");
[4251]97 // RINEX Ephemeris
98 setValue_p("ephPath", "");
99 setValue_p("ephIntr", "1 day");
[7326]100 setValue_p("ephOutPort", "");
[4251]101 setValue_p("ephV3", "0");
[7173]102 setValue_p("ephV3filenames", "0");
[6827]103 // Reqc
104 setValue_p("reqcAction", "");
105 setValue_p("reqcObsFile", "");
106 setValue_p("reqcNavFile", "");
107 setValue_p("reqcOutObsFile", "");
108 setValue_p("reqcOutNavFile", "");
109 setValue_p("reqcOutLogFile", "");
110 setValue_p("reqcSkyPlotSignals", "C:2&7 E:1&5 G:1&2 J:1&2 R:1&2 S:1&5");
111 setValue_p("reqcPlotDir", "");
112 setValue_p("reqcRnxVersion", "");
113 setValue_p("reqcSampling", "");
114 setValue_p("reqcStartDateTime", "");
115 setValue_p("reqcEndDateTime", "");
116 setValue_p("reqcLogSummaryOnly", "");
117 setValue_p("reqcRunBy", "");
118 setValue_p("reqcComment", "");
119 setValue_p("reqcOldMarkerName", "");
120 setValue_p("reqcNewMarkerName", "");
121 setValue_p("reqcOldAntennaName", "");
122 setValue_p("reqcNewAntennaName", "");
123 setValue_p("reqcOldReceiverName", "");
124 setValue_p("reqcNewReceiverName", "");
125 setValue_p("reqcNewAntennaNumber","");
126 setValue_p("reqcNewAntennadE", "");
127 setValue_p("reqcNewAntennadN", "");
128 setValue_p("reqcNewAntennadU", "");
129 setValue_p("reqcNewReceiverNumber", "");
130 setValue_p("reqcOldAntennaNumber", "");
131 setValue_p("reqcOldAntennadE", "");
132 setValue_p("reqcOldAntennadN", "");
133 setValue_p("reqcOldAntennadU", "");
134 setValue_p("reqcOldReceiverNumber", "");
135 setValue_p("reqcUseObsTypes", "");
136 setValue_p("reqcV2Priority", "");
[7297]137 // SP3
[6827]138 setValue_p("sp3CompFile", "");
139 setValue_p("sp3CompExclude", "");
140 setValue_p("sp3CompOutLogFile", "");
[4251]141 // Braodcast Corrections
142 setValue_p("corrPath", "");
143 setValue_p("corrIntr", "1 day");
144 setValue_p("corrPort", "");
145 // Feed Engine
146 setValue_p("outPort", "");
[7390]147 setValue_p("outWait", "5");
[7361]148 setValue_p("outSampl", "0");
[4251]149 setValue_p("outFile", "");
150 setValue_p("outUPort", "");
151 // Serial Output
152 setValue_p("serialMountPoint", "");
153 setValue_p("serialPortName", "");
154 setValue_p("serialBaudRate", "9600");
155 setValue_p("serialFlowControl", "OFF");
156 setValue_p("serialDataBits", "8");
157 setValue_p("serialParity", "NONE");
158 setValue_p("serialStopBits", "1");
159 setValue_p("serialAutoNMEA", "Auto");
160 setValue_p("serialFileNMEA", "");
161 setValue_p("serialHeightNMEA", "");
[6827]162 setValue_p("serialManualNMEASampling", "");
[4251]163 // Outages
[7330]164 setValue_p("adviseObsRate", "");
[4251]165 setValue_p("adviseFail", "15");
166 setValue_p("adviseReco", "5");
167 setValue_p("adviseScript", "");
168 // Miscellaneous
[7297]169 setValue_p("miscMount", "");
[7418]170 setValue_p("miscIntr", "");
171 setValue_p("miscScanRTCM", "0");
[7297]172 setValue_p("miscPort", "");
[4251]173 // Combination
[7297]174 setValue_p("cmbStreams", "");
[4251]175 setValue_p("cmbMethod", "");
176 setValue_p("cmbMaxres", "");
[6827]177 setValue_p("cmbSampl", "10");
178 setValue_p("cmbUseGlonass", "");
[4251]179 // Upload (clk)
180 setValue_p("uploadMountpointsOut","");
181 setValue_p("uploadIntr", "1 day");
182 setValue_p("uploadSamplRtcmEphCorr", "0");
[6827]183 setValue_p("uploadSamplSp3", "1");
184 setValue_p("uploadSamplClkRnx", "10");
[4251]185 setValue_p("trafo_dx", "");
186 setValue_p("trafo_dy", "");
187 setValue_p("trafo_dz", "");
188 setValue_p("trafo_dxr", "");
189 setValue_p("trafo_dyr", "");
190 setValue_p("trafo_dzr", "");
191 setValue_p("trafo_ox", "");
192 setValue_p("trafo_oy", "");
193 setValue_p("trafo_oz", "");
194 setValue_p("trafo_oxr", "");
195 setValue_p("trafo_oyr", "");
196 setValue_p("trafo_ozr", "");
197 setValue_p("trafo_sc", "");
198 setValue_p("trafo_scr", "");
199 setValue_p("trafo_t0", "");
200 // Upload (eph)
[7889]201 setValue_p("uploadEphMountpointsOut","");
202 setValue_p("uploadSamplRtcmEph", "0");
[4251]203 }
[5080]204#ifdef GNSSCENTER_PLUGIN
205 settings.endGroup();
206#endif
[4251]207}
208
[7297]209//
[4070]210////////////////////////////////////////////////////////////////////////////
211QVariant bncSettings::value(const QString& key,
212 const QVariant& defaultValue) const {
[4073]213 QMutexLocker locker(&_mutex);
214
[5068]215 if (BNC_CORE->_settings.contains(key)) {
216 return BNC_CORE->_settings[key];
[4070]217 }
218 else {
219 return defaultValue;
220 }
221}
222
[7297]223//
[4070]224////////////////////////////////////////////////////////////////////////////
225void bncSettings::setValue(const QString &key, const QVariant& value) {
[4078]226 QMutexLocker locker(&_mutex);
227 setValue_p(key, value);
228}
229
[7297]230//
[4078]231////////////////////////////////////////////////////////////////////////////
232void bncSettings::setValue_p(const QString &key, const QVariant& value) {
[7488]233// qDebug() << "key: " << key << " value: " << value;
[5068]234 BNC_CORE->_settings[key] = value;
[4070]235}
236
[7297]237//
[4070]238////////////////////////////////////////////////////////////////////////////
239void bncSettings::remove(const QString& key ) {
[4073]240 QMutexLocker locker(&_mutex);
[5068]241 BNC_CORE->_settings.remove(key);
[4070]242}
243
[7297]244//
[4070]245////////////////////////////////////////////////////////////////////////////
[6411]246bool bncSettings::contains(const QString& key) const {
247 QMutexLocker locker(&_mutex);
248 return BNC_CORE->_settings.contains(key);
249}
250
[7297]251//
[6411]252////////////////////////////////////////////////////////////////////////////
[4070]253void bncSettings::sync() {
[4073]254 QMutexLocker locker(&_mutex);
[5068]255 QSettings settings(BNC_CORE->confFileName(), QSettings::IniFormat);
[4075]256 settings.clear();
[5068]257 QMapIterator<QString, QVariant> it(BNC_CORE->_settings);
[5080]258#ifdef GNSSCENTER_PLUGIN
259 settings.beginGroup("BNC");
260#endif
[4075]261 while (it.hasNext()) {
262 it.next();
263 settings.setValue(it.key(), it.value());
264 }
[5080]265#ifdef GNSSCENTER_PLUGIN
266 settings.endGroup();
267#endif
[4075]268 settings.sync();
[4070]269}
Note: See TracBrowser for help on using the repository browser.