diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2015-11-18 17:57:13 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-11-18 17:57:13 -0800 |
commit | d70f85ce35c95115438fecd26c70dc08ae4a3dbb (patch) | |
tree | 41abbe296ebb6f566aa116fc30ca3a4d9ea64fd0 /subsurface-core | |
parent | d9ded26b86e9df8a87f92a5d7ad21f7fbce6edb6 (diff) | |
download | subsurface-d70f85ce35c95115438fecd26c70dc08ae4a3dbb.tar.gz |
Cloud storage: modify protocol for checking cloud connectivity
In order to allow the backend to match account in multi user mode, it
needs to know if the requests are coming from the same instance of
Subsurface. Since I had to change the backend to add the ability to
retrieve a location service userid I added this capability at the same
time.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'subsurface-core')
-rw-r--r-- | subsurface-core/checkcloudconnection.cpp | 1 | ||||
-rw-r--r-- | subsurface-core/qthelper.cpp | 16 | ||||
-rw-r--r-- | subsurface-core/qthelper.h | 1 |
3 files changed, 18 insertions, 0 deletions
diff --git a/subsurface-core/checkcloudconnection.cpp b/subsurface-core/checkcloudconnection.cpp index be2a2fa18..428c4cda6 100644 --- a/subsurface-core/checkcloudconnection.cpp +++ b/subsurface-core/checkcloudconnection.cpp @@ -28,6 +28,7 @@ bool CheckCloudConnection::checkServer() QNetworkRequest request; request.setRawHeader("Accept", "text/plain"); request.setRawHeader("User-Agent", getUserAgent().toUtf8()); + request.setRawHeader("Client-Id", getUUID().toUtf8()); request.setUrl(QString(prefs.cloud_base_url) + TEAPOT); QNetworkAccessManager *mgr = new QNetworkAccessManager(); reply = mgr->get(request); diff --git a/subsurface-core/qthelper.cpp b/subsurface-core/qthelper.cpp index ac1624aa3..23eb34e0f 100644 --- a/subsurface-core/qthelper.cpp +++ b/subsurface-core/qthelper.cpp @@ -1780,3 +1780,19 @@ void init_proxy() } QNetworkProxy::setApplicationProxy(proxy); } + +QString getUUID() +{ + QString uuidString; + QSettings settings; + settings.beginGroup("UpdateManager"); + if (settings.contains("UUID")) { + uuidString = settings.value("UUID").toString(); + } else { + QUuid uuid = QUuid::createUuid(); + uuidString = uuid.toString(); + settings.setValue("UUID", uuidString); + } + uuidString.replace("{", "").replace("}", ""); + return uuidString; +} diff --git a/subsurface-core/qthelper.h b/subsurface-core/qthelper.h index 4345afae0..5b3e5bdee 100644 --- a/subsurface-core/qthelper.h +++ b/subsurface-core/qthelper.h @@ -142,5 +142,6 @@ void setCurrentAppState(QByteArray state); extern "C" bool in_planner(); extern "C" void subsurface_mkdir(const char *dir); void init_proxy(); +QString getUUID(); #endif // QTHELPER_H |