Add ClientOptions to be able to pass around client name and version (#365)

* ClientOptions and Qt user agent

* Update CHANGELOG.md

Co-authored-by: Oliver Wipfli <oliver.wipfli@leichteralsluft.ch>

Co-authored-by: Oliver Wipfli <oliver.wipfli@leichteralsluft.ch>
This commit is contained in:
Tadej Novak
2022-08-13 15:36:50 +02:00
committed by GitHub
parent c2d91477b1
commit 1341f33ba4
71 changed files with 830 additions and 249 deletions

View File

@@ -2,6 +2,7 @@
#include <mbgl/storage/resource.hpp>
#include <mbgl/storage/resource_options.hpp>
#include <mbgl/util/async_request.hpp>
#include <mbgl/util/client_options.hpp>
#include <mbgl/util/logging.hpp>
#include <atomic>
@@ -15,11 +16,12 @@ std::atomic_size_t transferredSize{0};
std::atomic_bool active{false};
std::atomic_bool offline{true};
ProxyFileSource::ProxyFileSource(std::shared_ptr<FileSource> defaultResourceLoader_, const ResourceOptions& options)
: defaultResourceLoader(std::move(defaultResourceLoader_)) {
ProxyFileSource::ProxyFileSource(std::shared_ptr<FileSource> defaultResourceLoader_, const ResourceOptions& resourceOptions_, const ClientOptions& clientOptions_)
: defaultResourceLoader(std::move(defaultResourceLoader_)),
resourceOptions(resourceOptions_.clone()), clientOptions(clientOptions_.clone()) {
assert(defaultResourceLoader);
if (offline) {
std::shared_ptr<FileSource> dbfs = FileSourceManager::get()->getFileSource(FileSourceType::Database, options);
std::shared_ptr<FileSource> dbfs = FileSourceManager::get()->getFileSource(FileSourceType::Database, resourceOptions_, clientOptions_);
dbfs->setProperty(READ_ONLY_MODE_KEY, true);
}
}
@@ -83,6 +85,14 @@ ResourceOptions ProxyFileSource::getResourceOptions() {
return resourceOptions.clone();
}
void ProxyFileSource::setClientOptions(ClientOptions options) {
clientOptions = options;
}
ClientOptions ProxyFileSource::getClientOptions() {
return clientOptions.clone();
}
// static
void ProxyFileSource::setOffline(bool status) {