summaryrefslogtreecommitdiff
path: root/platform/default
diff options
context:
space:
mode:
Diffstat (limited to 'platform/default')
-rw-r--r--platform/default/filesource-files.json1
-rw-r--r--platform/default/include/mbgl/gl/headless_frontend.hpp6
-rw-r--r--platform/default/include/mbgl/map/map_snapshotter.hpp3
-rw-r--r--platform/default/src/mbgl/gl/headless_frontend.cpp8
-rw-r--r--platform/default/src/mbgl/map/map_snapshotter.cpp15
-rw-r--r--platform/default/src/mbgl/storage/file_source_options.cpp55
6 files changed, 70 insertions, 18 deletions
diff --git a/platform/default/filesource-files.json b/platform/default/filesource-files.json
index f61aa6a335..c256cec1be 100644
--- a/platform/default/filesource-files.json
+++ b/platform/default/filesource-files.json
@@ -3,6 +3,7 @@
"sources": [
"platform/default/src/mbgl/storage/asset_file_source.cpp",
"platform/default/src/mbgl/storage/default_file_source.cpp",
+ "platform/default/src/mbgl/storage/file_source_options.cpp",
"platform/default/src/mbgl/storage/file_source_request.cpp",
"platform/default/src/mbgl/storage/local_file_request.cpp",
"platform/default/src/mbgl/storage/local_file_source.cpp",
diff --git a/platform/default/include/mbgl/gl/headless_frontend.hpp b/platform/default/include/mbgl/gl/headless_frontend.hpp
index d32c2e7768..a30519ad4e 100644
--- a/platform/default/include/mbgl/gl/headless_frontend.hpp
+++ b/platform/default/include/mbgl/gl/headless_frontend.hpp
@@ -11,16 +11,16 @@
namespace mbgl {
-class FileSource;
class Renderer;
class RendererBackend;
class Map;
class TransformState;
+class FileSourceOptions;
class HeadlessFrontend : public RendererFrontend {
public:
- HeadlessFrontend(float pixelRatio_, FileSource&, const optional<std::string> programCacheDir = {}, GLContextMode mode = GLContextMode::Unique, const optional<std::string> localFontFamily = {});
- HeadlessFrontend(Size, float pixelRatio_, FileSource&, const optional<std::string> programCacheDir = {}, GLContextMode mode = GLContextMode::Unique, const optional<std::string> localFontFamily = {});
+ HeadlessFrontend(float pixelRatio_, const FileSourceOptions&, const optional<std::string> programCacheDir = {}, GLContextMode mode = GLContextMode::Unique, const optional<std::string> localFontFamily = {});
+ HeadlessFrontend(Size, float pixelRatio_, const FileSourceOptions&, const optional<std::string> programCacheDir = {}, GLContextMode mode = GLContextMode::Unique, const optional<std::string> localFontFamily = {});
~HeadlessFrontend() override;
void reset() override;
diff --git a/platform/default/include/mbgl/map/map_snapshotter.hpp b/platform/default/include/mbgl/map/map_snapshotter.hpp
index 8c4b3e023e..e7c6a94883 100644
--- a/platform/default/include/mbgl/map/map_snapshotter.hpp
+++ b/platform/default/include/mbgl/map/map_snapshotter.hpp
@@ -25,8 +25,7 @@ class Style;
class MapSnapshotter {
public:
- MapSnapshotter(FileSource* fileSource,
- const std::pair<bool, std::string> style,
+ MapSnapshotter(const std::pair<bool, std::string> style,
const Size&,
const float pixelRatio,
const optional<CameraOptions> cameraOptions,
diff --git a/platform/default/src/mbgl/gl/headless_frontend.cpp b/platform/default/src/mbgl/gl/headless_frontend.cpp
index 71cd656e59..c1f8205fdb 100644
--- a/platform/default/src/mbgl/gl/headless_frontend.cpp
+++ b/platform/default/src/mbgl/gl/headless_frontend.cpp
@@ -8,11 +8,11 @@
namespace mbgl {
-HeadlessFrontend::HeadlessFrontend(float pixelRatio_, FileSource& fileSource, const optional<std::string> programCacheDir, GLContextMode mode, const optional<std::string> localFontFamily)
- : HeadlessFrontend({ 256, 256 }, pixelRatio_, fileSource, programCacheDir, mode, localFontFamily) {
+HeadlessFrontend::HeadlessFrontend(float pixelRatio_, const FileSourceOptions& fileSourceOptions, const optional<std::string> programCacheDir, GLContextMode mode, const optional<std::string> localFontFamily)
+ : HeadlessFrontend({ 256, 256 }, pixelRatio_, fileSourceOptions, programCacheDir, mode, localFontFamily) {
}
-HeadlessFrontend::HeadlessFrontend(Size size_, float pixelRatio_, FileSource& fileSource, const optional<std::string> programCacheDir, GLContextMode mode, const optional<std::string> localFontFamily)
+HeadlessFrontend::HeadlessFrontend(Size size_, float pixelRatio_, const FileSourceOptions& fileSourceOptions, const optional<std::string> programCacheDir, GLContextMode mode, const optional<std::string> localFontFamily)
: size(size_),
pixelRatio(pixelRatio_),
backend({ static_cast<uint32_t>(size.width * pixelRatio),
@@ -23,7 +23,7 @@ HeadlessFrontend::HeadlessFrontend(Size size_, float pixelRatio_, FileSource& fi
renderer->render(*updateParameters);
}
}),
- renderer(std::make_unique<Renderer>(backend, pixelRatio, fileSource, mode, programCacheDir, localFontFamily)) {
+ renderer(std::make_unique<Renderer>(backend, pixelRatio, fileSourceOptions, mode, programCacheDir, localFontFamily)) {
}
HeadlessFrontend::~HeadlessFrontend() = default;
diff --git a/platform/default/src/mbgl/map/map_snapshotter.cpp b/platform/default/src/mbgl/map/map_snapshotter.cpp
index 9532b01b7e..4d3dc75724 100644
--- a/platform/default/src/mbgl/map/map_snapshotter.cpp
+++ b/platform/default/src/mbgl/map/map_snapshotter.cpp
@@ -5,7 +5,6 @@
#include <mbgl/map/map.hpp>
#include <mbgl/map/map_options.hpp>
#include <mbgl/map/transform_state.hpp>
-#include <mbgl/storage/file_source.hpp>
#include <mbgl/style/style.hpp>
#include <mbgl/util/event.hpp>
#include <mbgl/map/transform.hpp>
@@ -14,8 +13,7 @@ namespace mbgl {
class MapSnapshotter::Impl {
public:
- Impl(FileSource*,
- const std::pair<bool, std::string> style,
+ Impl(const std::pair<bool, std::string> style,
const Size&,
const float pixelRatio,
const optional<CameraOptions> cameraOptions,
@@ -45,7 +43,7 @@ private:
Map map;
};
-MapSnapshotter::Impl::Impl(FileSource* fileSource,
+MapSnapshotter::Impl::Impl(
const std::pair<bool, std::string> style,
const Size& size,
const float pixelRatio,
@@ -53,8 +51,8 @@ MapSnapshotter::Impl::Impl(FileSource* fileSource,
const optional<LatLngBounds> region,
const optional<std::string> programCacheDir,
const optional<std::string> localFontFamily)
- , frontend(size, pixelRatio, programCacheDir, GLContextMode::Unique, localFontFamily)
- , map(frontend, MapObserver::nullObserver(), size, pixelRatio, *fileSource, MapOptions().withMapMode(MapMode::Static)) {
+ : frontend(size, pixelRatio, FileSourceOptions(), programCacheDir, GLContextMode::Unique, localFontFamily)
+ , map(frontend, MapObserver::nullObserver(), size, pixelRatio, MapOptions().withMapMode(MapMode::Static), FileSourceOptions()) {
if (style.first) {
map.getStyle().loadJSON(style.second);
@@ -160,15 +158,14 @@ LatLngBounds MapSnapshotter::Impl::getRegion() const {
return map.latLngBoundsForCamera(getCameraOptions());
}
-MapSnapshotter::MapSnapshotter(FileSource* fileSource,
- const std::pair<bool, std::string> style,
+MapSnapshotter::MapSnapshotter(const std::pair<bool, std::string> style,
const Size& size,
const float pixelRatio,
const optional<CameraOptions> cameraOptions,
const optional<LatLngBounds> region,
const optional<std::string> programCacheDir,
const optional<std::string> localFontFamily)
- : impl(std::make_unique<util::Thread<MapSnapshotter::Impl>>("Map Snapshotter", fileSource, style, size, pixelRatio, cameraOptions, region, programCacheDir, localFontFamily)) {
+ : impl(std::make_unique<util::Thread<MapSnapshotter::Impl>>("Map Snapshotter", style, size, pixelRatio, cameraOptions, region, programCacheDir, localFontFamily)) {
}
MapSnapshotter::~MapSnapshotter() = default;
diff --git a/platform/default/src/mbgl/storage/file_source_options.cpp b/platform/default/src/mbgl/storage/file_source_options.cpp
new file mode 100644
index 0000000000..782c90f768
--- /dev/null
+++ b/platform/default/src/mbgl/storage/file_source_options.cpp
@@ -0,0 +1,55 @@
+#include <mbgl/storage/file_source_options.hpp>
+#include <mbgl/util/constants.hpp>
+
+#include <cassert>
+
+namespace mbgl {
+
+class FileSourceOptions::Impl {
+public:
+ std::string accessToken;
+ std::string cachePath { ":memory:" };
+ std::string assetRoot { "." };
+ uint64_t maximumSize{mbgl::util::DEFAULT_MAX_CACHE_SIZE};
+};
+
+FileSourceOptions::FileSourceOptions() : impl_(std::make_shared<FileSourceOptions::Impl>()) {}
+FileSourceOptions::~FileSourceOptions() = default;
+
+FileSourceOptions& FileSourceOptions::withAccessToken(std::string accessToken) {
+ impl_->accessToken = std::move(accessToken);
+ return *this;
+}
+
+const std::string& FileSourceOptions::accessToken() const {
+ return impl_->accessToken;
+}
+
+FileSourceOptions& FileSourceOptions::withCachePath(std::string path) {
+ impl_->cachePath = std::move(path);
+ return *this;
+}
+
+const std::string& FileSourceOptions::cachePath() const {
+ return impl_->cachePath;
+}
+
+FileSourceOptions& FileSourceOptions::withAssetRoot(std::string path) {
+ impl_->assetRoot = std::move(path);
+ return *this;
+}
+
+const std::string& FileSourceOptions::assetRoot() const {
+ return impl_->assetRoot;
+}
+
+FileSourceOptions& FileSourceOptions::withMaximumCacheSize(uint64_t size) {
+ impl_->maximumSize = size;
+ return *this;
+}
+
+uint64_t FileSourceOptions::maximumCacheSize() const {
+ return impl_->maximumSize;
+}
+
+} // namespace mbgl \ No newline at end of file