diff options
Diffstat (limited to 'platform/default')
-rw-r--r-- | platform/default/default_file_source.cpp | 11 | ||||
-rw-r--r-- | platform/default/mbgl/map/map_snapshotter.cpp | 20 | ||||
-rw-r--r-- | platform/default/mbgl/map/map_snapshotter.hpp | 4 |
3 files changed, 16 insertions, 19 deletions
diff --git a/platform/default/default_file_source.cpp b/platform/default/default_file_source.cpp index 89aabeb8d3..f070121497 100644 --- a/platform/default/default_file_source.cpp +++ b/platform/default/default_file_source.cpp @@ -19,15 +19,10 @@ namespace mbgl { class DefaultFileSource::Impl { public: - Impl(ActorRef<Impl> self, std::shared_ptr<FileSource> assetFileSource_, const std::string& cachePath, uint64_t maximumCacheSize) + Impl(std::shared_ptr<FileSource> assetFileSource_, std::string cachePath, uint64_t maximumCacheSize) : assetFileSource(assetFileSource_) - , localFileSource(std::make_unique<LocalFileSource>()) { - // Initialize the Database asynchronously so as to not block Actor creation. - self.invoke(&Impl::initializeOfflineDatabase, cachePath, maximumCacheSize); - } - - void initializeOfflineDatabase(std::string cachePath, uint64_t maximumCacheSize) { - offlineDatabase = std::make_unique<OfflineDatabase>(cachePath, maximumCacheSize); + , localFileSource(std::make_unique<LocalFileSource>()) + , offlineDatabase(std::make_unique<OfflineDatabase>(cachePath, maximumCacheSize)) { } void setAPIBaseURL(const std::string& url) { diff --git a/platform/default/mbgl/map/map_snapshotter.cpp b/platform/default/mbgl/map/map_snapshotter.cpp index a909e3fe9b..149ef22e7a 100644 --- a/platform/default/mbgl/map/map_snapshotter.cpp +++ b/platform/default/mbgl/map/map_snapshotter.cpp @@ -13,8 +13,8 @@ namespace mbgl { class MapSnapshotter::Impl { public: - Impl(FileSource&, - Scheduler&, + Impl(FileSource*, + std::shared_ptr<Scheduler>, const std::pair<bool, std::string> style, const Size&, const float pixelRatio, @@ -40,20 +40,22 @@ public: void snapshot(ActorRef<MapSnapshotter::Callback>); private: + std::shared_ptr<Scheduler> scheduler; HeadlessFrontend frontend; Map map; }; -MapSnapshotter::Impl::Impl(FileSource& fileSource, - Scheduler& scheduler, +MapSnapshotter::Impl::Impl(FileSource* fileSource, + std::shared_ptr<Scheduler> scheduler_, 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) - : frontend(size, pixelRatio, fileSource, scheduler, programCacheDir) - , map(frontend, MapObserver::nullObserver(), size, pixelRatio, fileSource, scheduler, MapMode::Static) { + : scheduler(std::move(scheduler_)) + , frontend(size, pixelRatio, *fileSource, *scheduler, programCacheDir) + , map(frontend, MapObserver::nullObserver(), size, pixelRatio, *fileSource, *scheduler, MapMode::Static) { if (style.first) { map.getStyle().loadJSON(style.second); @@ -149,15 +151,15 @@ LatLngBounds MapSnapshotter::Impl::getRegion() const { return map.latLngBoundsForCamera(getCameraOptions()); } -MapSnapshotter::MapSnapshotter(FileSource& fileSource, - Scheduler& scheduler, +MapSnapshotter::MapSnapshotter(FileSource* fileSource, + std::shared_ptr<Scheduler> scheduler, 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) - : impl(std::make_unique<util::Thread<MapSnapshotter::Impl>>("Map Snapshotter", fileSource, scheduler, style, size, pixelRatio, cameraOptions, region, programCacheDir)) { + : impl(std::make_unique<util::Thread<MapSnapshotter::Impl>>("Map Snapshotter", fileSource, std::move(scheduler), style, size, pixelRatio, cameraOptions, region, programCacheDir)) { } MapSnapshotter::~MapSnapshotter() = default; diff --git a/platform/default/mbgl/map/map_snapshotter.hpp b/platform/default/mbgl/map/map_snapshotter.hpp index b9e6307664..f40d1e4b77 100644 --- a/platform/default/mbgl/map/map_snapshotter.hpp +++ b/platform/default/mbgl/map/map_snapshotter.hpp @@ -25,8 +25,8 @@ class Style; class MapSnapshotter { public: - MapSnapshotter(FileSource& fileSource, - Scheduler& scheduler, + MapSnapshotter(FileSource* fileSource, + std::shared_ptr<Scheduler> scheduler, const std::pair<bool, std::string> style, const Size&, const float pixelRatio, |