aboutsummaryrefslogtreecommitdiffstats
path: root/src/remotesettings
diff options
context:
space:
mode:
authorEgor Nemtsev <enemtsev@luxoft.com>2019-05-30 18:21:35 +0300
committerGrigorii Zimin <gzimin@luxoft.com>2019-06-06 09:06:50 +0000
commit87160ff556fdf5f4bbed83faaab323949fe2381d (patch)
treeb03060681840cf0dbb76f28beeb061d3e9d6dcc7 /src/remotesettings
parent7a352b7ae60df30b30ec512c7b6fbdc1fb9da166 (diff)
[companionapp] fix connection to remote drivedata service
Change connection string to address without port. Use default 9999 for remotesettings and 9998 for drivedata. Load ports from QSettings if defined. Task-number: AUTOSUITE-975 Change-Id: Ieb089b78ecf3360f6aafac54a89dcca0ce13547f Reviewed-by: Grigorii Zimin <gzimin@luxoft.com>
Diffstat (limited to 'src/remotesettings')
-rw-r--r--src/remotesettings/app/client.cpp31
-rw-r--r--src/remotesettings/app/client.h8
2 files changed, 36 insertions, 3 deletions
diff --git a/src/remotesettings/app/client.cpp b/src/remotesettings/app/client.cpp
index 6bc805bb..e2ef3b84 100644
--- a/src/remotesettings/app/client.cpp
+++ b/src/remotesettings/app/client.cpp
@@ -35,12 +35,18 @@ Q_LOGGING_CATEGORY(NeptuneCompanionApp, "NeptuneCompanion.App")
const QString Client::settingsLastUrlsPrefix = QStringLiteral("lastUrls");
const QString Client::settingsLastUrlsItem = QStringLiteral("url");
+const QString Client::settingsRemoteSettingsPortItem = QStringLiteral("ports/remoteSettingsPort");
+const QString Client::settingsDriveDataPortItem = QStringLiteral("ports/driveDataPort");
const int Client::numOfUrlsStored = 5;
const int Client::timeoutToleranceMS = 1000;
const int Client::reconnectionIntervalMS = 3000;
-const QString Client::defaultUrl = QStringLiteral("tcp://127.0.0.1:9999");
+const QString Client::defaultUrl = QStringLiteral("tcp://127.0.0.1");
+const int Client::defaultRemoteSettingsPort = 9999;
+const int Client::defaultDriveDataPort = 9998;
Client::Client(QObject *parent) : QObject(parent),
+ m_remoteSettingsPort(defaultRemoteSettingsPort),
+ m_driveDataPort(defaultDriveDataPort),
m_connected(false),
m_timedOut(false),
m_settings(QStringLiteral("Pelagicore"), QStringLiteral("NeptuneCompanionApp"))
@@ -93,16 +99,32 @@ void Client::connectToServer(const QString &serverUrl)
return;
}
+ if (url.port() > -1) {
+ setStatus(tr("Invalid URL: %1. No port should be defined").arg(url.toString()));
+ return;
+ }
+
if (url==m_serverUrl && connected())
return;
+ QUrl remoteSettingsUrl(url);
+ QUrl driveDataUrl(url);
+
+ remoteSettingsUrl.setPort(m_remoteSettingsPort);
+ driveDataUrl.setPort(m_driveDataPort);
+
QString configPath(QStringLiteral("./server.conf"));
if (qEnvironmentVariableIsSet("SERVER_CONF_PATH"))
configPath = QString::fromLocal8Bit(qgetenv("SERVER_CONF_PATH"));
QSettings settings(configPath, QSettings::IniFormat);
- settings.beginGroup(QStringLiteral("settings"));
- settings.setValue(QStringLiteral("Registry"), serverUrl);
+ settings.beginGroup(QStringLiteral("remotesettings"));
+ settings.setValue(QStringLiteral("Registry"), remoteSettingsUrl.toString());
+ settings.endGroup();
+ settings.sync();
+ settings.beginGroup(QStringLiteral("drivedata"));
+ settings.setValue(QStringLiteral("Registry"), driveDataUrl.toString());
+ settings.endGroup();
settings.sync();
setStatus(tr("Connecting to %1...").arg(url.toString()));
@@ -171,6 +193,9 @@ void Client::setStatus(const QString &status)
void Client::readSettings()
{
+ m_remoteSettingsPort = m_settings.value(settingsRemoteSettingsPortItem, defaultRemoteSettingsPort).toInt();
+ m_driveDataPort = m_settings.value(settingsDriveDataPortItem, defaultDriveDataPort).toInt();
+
int size=m_settings.beginReadArray(settingsLastUrlsPrefix);
for (int i=0; i<size; i++) {
m_settings.setArrayIndex(i);
diff --git a/src/remotesettings/app/client.h b/src/remotesettings/app/client.h
index 96db0805..afb49a23 100644
--- a/src/remotesettings/app/client.h
+++ b/src/remotesettings/app/client.h
@@ -39,6 +39,7 @@
#include <QUrl>
#include "connectionmonitoring.h"
+
Q_DECLARE_LOGGING_CATEGORY(NeptuneCompanionApp)
class Client : public QObject
@@ -51,12 +52,17 @@ class Client : public QObject
static const QString settingsLastUrlsPrefix;
static const QString settingsLastUrlsItem;
+ static const QString settingsRemoteSettingsPortItem;
+ static const QString settingsDriveDataPortItem;
static const int numOfUrlsStored;
static const int timeoutToleranceMS;
static const int reconnectionIntervalMS;
public:
static const QString defaultUrl;
+ static const int defaultRemoteSettingsPort;
+ static const int defaultDriveDataPort;
+
explicit Client(QObject *parent = nullptr);
~Client();
@@ -87,6 +93,8 @@ private:
void writeSettings();
void updateLastUrls(const QString &url);
+ int m_remoteSettingsPort;
+ int m_driveDataPort;
QUrl m_serverUrl;
QStringList m_lastUrls;
bool m_connected;