diff options
author | Egor Nemtsev <enemtsev@luxoft.com> | 2019-05-30 18:21:35 +0300 |
---|---|---|
committer | Grigorii Zimin <gzimin@luxoft.com> | 2019-06-06 09:06:50 +0000 |
commit | 87160ff556fdf5f4bbed83faaab323949fe2381d (patch) | |
tree | b03060681840cf0dbb76f28beeb061d3e9d6dcc7 /src/remotesettings | |
parent | 7a352b7ae60df30b30ec512c7b6fbdc1fb9da166 (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.cpp | 31 | ||||
-rw-r--r-- | src/remotesettings/app/client.h | 8 |
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; |