Index: trunk/BNC/bncrinex.cpp
===================================================================
--- trunk/BNC/bncrinex.cpp	(revision 3334)
+++ trunk/BNC/bncrinex.cpp	(revision 3335)
@@ -122,6 +122,6 @@
 
   QStringList table;
-  bncTableDlg::getFullTable(_mountPoint.host(), _mountPoint.port(), 
-                            table, _reloadTable);
+  bncTableDlg::getFullTable(_ntripVersion, _mountPoint.host(), 
+                            _mountPoint.port(), table, _reloadTable);
   QString net;
   QStringListIterator it(table);
Index: trunk/BNC/bnctabledlg.cpp
===================================================================
--- trunk/BNC/bnctabledlg.cpp	(revision 3334)
+++ trunk/BNC/bnctabledlg.cpp	(revision 3335)
@@ -44,4 +44,5 @@
 #include "bncgetthread.h"
 #include "bncnetqueryv1.h"
+#include "bncnetqueryv2.h"
 #include "bncsettings.h"
 #include "bncmap.h"
@@ -91,5 +92,5 @@
 
   _ntripVersionComboBox = new QComboBox();
-  _ntripVersionComboBox->addItems(QString("1,2,R,U").split(","));
+  _ntripVersionComboBox->addItems(QString("1,2,2s,R,U").split(","));
   int kk = _ntripVersionComboBox->findText(settings.value("ntripVersion").toString());
   if (kk != -1) {
@@ -180,5 +181,6 @@
 // Read full caster table (static)
 ////////////////////////////////////////////////////////////////////////////
-t_irc bncTableDlg::getFullTable(const QString& casterHost, 
+t_irc bncTableDlg::getFullTable(const QString& ntripVersion, 
+                                const QString& casterHost, 
                                 int casterPort, QStringList& allLines, 
                                 bool alwaysRead) {
@@ -196,14 +198,26 @@
   allLines.clear();
 
+  bncNetQuery* query = 0;
+  if (ntripVersion == "2" || ntripVersion == "2s") {
+    query = new bncNetQueryV2();
+  }
+  else {
+    query = new bncNetQueryV1();
+  }
+
   QUrl url;
   url.setHost(casterHost);
   url.setPort(casterPort);
-  url.setScheme("http");
   url.setPath("/");
-
-  bncNetQueryV1 query;
+  if (ntripVersion == "2s") {
+    url.setScheme("https");
+  }
+  else {
+    url.setScheme("http");
+  }
+
   QByteArray outData;
-  query.waitForRequestResult(url, outData);
-  if (query.status() == bncNetQuery::finished) {
+  query->waitForRequestResult(url, outData);
+  if (query->status() == bncNetQuery::finished) {
     QTextStream in(outData);
     QString line = in.readLine();
@@ -213,7 +227,9 @@
     } 
     allTables.insert(casterHost, allLines);
+    delete query;
     return success;
   }
   else {
+    delete query;
     return failure;
   }
@@ -228,5 +244,6 @@
   _buttonCasterTable->setEnabled(false); 
 
-  if ( getFullTable(_casterHostComboBox->currentText(),
+  if ( getFullTable(_ntripVersionComboBox->currentText(),
+                    _casterHostComboBox->currentText(),
                     _casterPortLineEdit->text().toInt(),
                     _allLines, true) != success ) {
@@ -362,7 +379,13 @@
 
   bncSettings settings;
-  settings.setValue("ntripVersion", _ntripVersionComboBox->currentText());
+  QString ntripVersion = _ntripVersionComboBox->currentText();
+  settings.setValue("ntripVersion", ntripVersion);
   QUrl url;
-  url.setScheme("http");
+  if (ntripVersion == "2s") {
+    url.setScheme("https");
+  }
+  else {
+    url.setScheme("http");
+  }
   url.setHost(_casterHostComboBox->currentText());
   url.setPort(_casterPortLineEdit->text().toInt());
@@ -380,5 +403,4 @@
       QString        longitude = _table->item(ir,9)->text();
       QString             nmea = _table->item(ir,10)->text();
-      QString     ntripVersion = _ntripVersionComboBox->currentText();
       format.replace(" ", "_");
       if (_table->isItemSelected(item)) {
@@ -424,5 +446,6 @@
   _buttonSelect->setEnabled(false);
 
-  bncCasterTableDlg* dlg = new bncCasterTableDlg(this);
+  bncCasterTableDlg* dlg = 
+          new bncCasterTableDlg(_ntripVersionComboBox->currentText(), this);
   dlg->move(this->pos().x()+50, this->pos().y()+50);
   connect(dlg, SIGNAL(newCaster(QString, QString)),
@@ -504,5 +527,6 @@
 // Caster table
 ////////////////////////////////////////////////////////////////////////////
-bncCasterTableDlg::bncCasterTableDlg(QWidget* parent) : 
+bncCasterTableDlg::bncCasterTableDlg(const QString& ntripVersion,
+                                     QWidget* parent) : 
    QDialog(parent) {
 
@@ -517,10 +541,17 @@
   url.setPath("/");
 
-  bncNetQueryV1 query;
+  bncNetQuery* query = 0;
+  if (ntripVersion == "2" || ntripVersion == "2s") {
+    query = new bncNetQueryV2();
+  }
+  else {
+    query = new bncNetQueryV1();
+  }
+
   QByteArray outData;
-  query.waitForRequestResult(url, outData);
+  query->waitForRequestResult(url, outData);
 
   QStringList lines;
-  if (query.status() == bncNetQuery::finished) {
+  if (query->status() == bncNetQuery::finished) {
     QTextStream in(outData);
     QString line = in.readLine();
@@ -535,4 +566,6 @@
     }
   }
+
+  delete query;
 
   if (lines.size() > 0) {
Index: trunk/BNC/bnctabledlg.h
===================================================================
--- trunk/BNC/bnctabledlg.h	(revision 3334)
+++ trunk/BNC/bnctabledlg.h	(revision 3335)
@@ -36,5 +36,5 @@
 
   public:
-    bncCasterTableDlg(QWidget* parent);
+    bncCasterTableDlg(const QString& ntripVersion, QWidget* parent);
     ~bncCasterTableDlg();
 
@@ -59,5 +59,6 @@
     bncTableDlg(QWidget* parent);
     ~bncTableDlg();
-    static t_irc getFullTable(const QString& casterHost, int casterPort,
+    static t_irc getFullTable(const QString& ntripVersion, 
+                              const QString& casterHost, int casterPort,
                               QStringList& allLines, bool alwaysRead = true);
 
