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

Last change on this file since 9292 was 9292, checked in by stuerze, 10 months ago

parameter added to be able to chose the corrections to be combined

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