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

Last change on this file since 5303 was 5303, checked in by weber, 11 years ago

Color for track dots added

File size: 9.4 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 *
13 * Changes:
14 *
15 * -----------------------------------------------------------------------*/
16
[4072]17#include <QSettings>
18
[1535]19#include "bncsettings.h"
[5070]20#include "bnccore.h"
[1535]21
[4073]22QMutex bncSettings::_mutex; // static mutex
23
[1535]24// Constructor
25////////////////////////////////////////////////////////////////////////////
[4077]26bncSettings::bncSettings() {
[4073]27 QMutexLocker locker(&_mutex);
[1536]28
[4070]29 // First fill the options
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");
68 setValue_p("casterUrlList", (QStringList()
69 << "http://user:pass@www.euref-ip.net:2101"
70 << "http://user:pass@www.igs-ip.net:2101"
71 << "http://user:pass@products.igs-ip.net:2101"
72 << "http://user:pass@mgex.igs-ip.net:2101"));
73 setValue_p("mountPoints", "");
74 setValue_p("ntripVersion", "1");
75 // Network
76 setValue_p("proxyHost", "");
77 setValue_p("proxyPort", "");
78 setValue_p("sslCaCertPath", "");
79 setValue_p("ignoreSslErrors", "0");
80 // General
81 setValue_p("logFile", "");
82 setValue_p("rnxAppend", "0");
83 setValue_p("onTheFlyInterval", "1 day");
84 setValue_p("autoStart", "0");
85 setValue_p("rawOutFile", "");
86 // RINEX Observations
87 setValue_p("rnxPath", "");
88 setValue_p("rnxIntr", "1 day");
89 setValue_p("rnxSampl", "0");
90 setValue_p("rnxSkel", "SKL");
91 setValue_p("rnxScript", "");
92 setValue_p("rnxV3", "0");
93 // RINEX Ephemeris
94 setValue_p("ephPath", "");
95 setValue_p("ephIntr", "1 day");
96 setValue_p("outEphPort", "");
97 setValue_p("ephV3", "0");
98 // Braodcast Corrections
99 setValue_p("corrPath", "");
100 setValue_p("corrIntr", "1 day");
101 setValue_p("corrPort", "");
102 setValue_p("corrTime", "5");
103 // Feed Engine
104 setValue_p("outPort", "");
105 setValue_p("waitTime", "5");
106 setValue_p("binSampl", "0");
107 setValue_p("outFile", "");
108 setValue_p("outUPort", "");
109 // Serial Output
110 setValue_p("serialMountPoint", "");
111 setValue_p("serialPortName", "");
112 setValue_p("serialBaudRate", "9600");
113 setValue_p("serialFlowControl", "OFF");
114 setValue_p("serialDataBits", "8");
115 setValue_p("serialParity", "NONE");
116 setValue_p("serialStopBits", "1");
117 setValue_p("serialAutoNMEA", "Auto");
118 setValue_p("serialFileNMEA", "");
119 setValue_p("serialHeightNMEA", "");
120 // Outages
121 setValue_p("obsRate", "");
122 setValue_p("adviseFail", "15");
123 setValue_p("adviseReco", "5");
124 setValue_p("adviseScript", "");
125 // Miscellaneous
126 setValue_p("miscMount", "");
127 setValue_p("perfIntr", "");
128 setValue_p("scanRTCM", "0");
129 // PPP
130 setValue_p("pppSPP", "");
131 setValue_p("pppMount", "");
132 setValue_p("pppCorrMount", "");
133 setValue_p("pppRefCrdX", "");
134 setValue_p("pppRefCrdY", "");
135 setValue_p("pppRefCrdZ", "");
136 setValue_p("pppRefdN", "");
137 setValue_p("pppRefdE", "");
138 setValue_p("pppRefdU", "");
139 setValue_p("nmeaFile", "");
140 setValue_p("nmeaPort", "");
141 setValue_p("pppPlotCoordinates", "");
[5227]142 setValue_p("useOsmMap", false);
[5303]143 setValue_p("mapWinDotSize", "");
144 setValue_p("mapWinDotColor", "red");
[5227]145 setValue_p("mapSpeed", 0);
[4251]146 setValue_p("postObsFile", "");
147 setValue_p("postNavFile", "");
148 setValue_p("postCorrFile", "");
149 setValue_p("postOutFile", "");
150 setValue_p("pppAntenna", "");
151 setValue_p("pppAntex", "");
152 setValue_p("pppUsePhase", "");
153 setValue_p("pppEstTropo", "");
154 setValue_p("pppGLONASS", "");
155 setValue_p("pppGalileo", "");
156 setValue_p("pppSync", "");
157 setValue_p("pppAverage", "");
158 setValue_p("pppQuickStart", "");
159 setValue_p("pppMaxSolGap", "");
[4548]160 setValue_p("pppAudioResponse", "");
[4251]161 setValue_p("pppSigmaCode", "10.0");
162 setValue_p("pppSigmaPhase", "0.02");
163 setValue_p("pppSigCrd0", "100.0");
164 setValue_p("pppSigCrdP", "100.0");
165 setValue_p("pppSigTrp0", "0.1");
166 setValue_p("pppSigTrpP", "3e-6");
167 // Reqc
168 setValue_p("reqcAction", "");
169 setValue_p("reqcObsFile", "");
170 setValue_p("reqcNavFile", "");
171 setValue_p("reqcOutObsFile", "");
172 setValue_p("reqcOutNavFile", "");
173 setValue_p("reqcOutLogFile", "");
[4449]174 setValue_p("reqcPlotDir", "");
[5144]175 setValue_p("reqcSkyPlotSystems", "ALL");
[4251]176 setValue_p("reqcRnxVersion", "");
177 setValue_p("reqcSampling", "");
178 setValue_p("reqcStartDateTime", "");
179 setValue_p("reqcEndDateTime", "");
180 setValue_p("reqcRunBy", "");
181 setValue_p("reqcComment", "");
182 setValue_p("reqcOldMarkerName", "");
183 setValue_p("reqcNewMarkerName", "");
184 setValue_p("reqcOldAntennaName", "");
185 setValue_p("reqcNewAntennaName", "");
186 setValue_p("reqcOldReceiverName", "");
187 setValue_p("reqcNewReceiverName", "");
188 // Combination
189 setValue_p("combineStreams", "");
190 setValue_p("cmbMethod", "");
191 setValue_p("cmbMaxres", "");
192 setValue_p("cmbSampl", "10");
193 // Upload (clk)
194 setValue_p("uploadMountpointsOut","");
195 setValue_p("uploadIntr", "1 day");
196 setValue_p("uploadSamplRtcmEphCorr", "0");
197 setValue_p("uploadSamplSp3", "1");
198 setValue_p("uploadSamplClkRnx", "10");
199 setValue_p("trafo_dx", "");
200 setValue_p("trafo_dy", "");
201 setValue_p("trafo_dz", "");
202 setValue_p("trafo_dxr", "");
203 setValue_p("trafo_dyr", "");
204 setValue_p("trafo_dzr", "");
205 setValue_p("trafo_ox", "");
206 setValue_p("trafo_oy", "");
207 setValue_p("trafo_oz", "");
208 setValue_p("trafo_oxr", "");
209 setValue_p("trafo_oyr", "");
210 setValue_p("trafo_ozr", "");
211 setValue_p("trafo_sc", "");
212 setValue_p("trafo_scr", "");
213 setValue_p("trafo_t0", "");
214 // Upload (eph)
215 setValue_p("uploadEphHost", "");
216 setValue_p("uploadEphPort", "");
217 setValue_p("uploadEphMountpoint", "");
218 setValue_p("uploadEphPassword", "");
219 setValue_p("uploadEphSample", "5");
220 }
[5080]221#ifdef GNSSCENTER_PLUGIN
222 settings.endGroup();
223#endif
[4251]224}
225
[4070]226//
227////////////////////////////////////////////////////////////////////////////
228QVariant bncSettings::value(const QString& key,
229 const QVariant& defaultValue) const {
[4073]230 QMutexLocker locker(&_mutex);
231
[5068]232 if (BNC_CORE->_settings.contains(key)) {
233 return BNC_CORE->_settings[key];
[4070]234 }
235 else {
236 return defaultValue;
237 }
238}
239
240//
241////////////////////////////////////////////////////////////////////////////
242void bncSettings::setValue(const QString &key, const QVariant& value) {
[4078]243 QMutexLocker locker(&_mutex);
244 setValue_p(key, value);
245}
246
247//
248////////////////////////////////////////////////////////////////////////////
249void bncSettings::setValue_p(const QString &key, const QVariant& value) {
[5068]250 BNC_CORE->_settings[key] = value;
[4070]251}
252
253//
254////////////////////////////////////////////////////////////////////////////
255void bncSettings::remove(const QString& key ) {
[4073]256 QMutexLocker locker(&_mutex);
[5068]257 BNC_CORE->_settings.remove(key);
[4070]258}
259
260//
261////////////////////////////////////////////////////////////////////////////
262void bncSettings::sync() {
[4073]263 QMutexLocker locker(&_mutex);
[5068]264 QSettings settings(BNC_CORE->confFileName(), QSettings::IniFormat);
[4075]265 settings.clear();
[5068]266 QMapIterator<QString, QVariant> it(BNC_CORE->_settings);
[5080]267#ifdef GNSSCENTER_PLUGIN
268 settings.beginGroup("BNC");
269#endif
[4075]270 while (it.hasNext()) {
271 it.next();
272 settings.setValue(it.key(), it.value());
273 }
[5080]274#ifdef GNSSCENTER_PLUGIN
275 settings.endGroup();
276#endif
[4075]277 settings.sync();
[4070]278}
Note: See TracBrowser for help on using the repository browser.