Changeset 10657 in ntrip for trunk/BNC/src/bncsettings.cpp


Ignore:
Timestamp:
Jun 2, 2025, 9:22:52 AM (4 weeks ago)
Author:
stuerze
Message:

upload to caster revised

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/BNC/src/bncsettings.cpp

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