From 06f1dc48a2fb317979ab48ce323115be5bd48f16 Mon Sep 17 00:00:00 2001 From: "Thiago Marcos P. Santos" Date: Thu, 14 Feb 2019 16:56:17 +0200 Subject: [core] Make the BackgroundScheduler a singleton - Do not carry it over everywhere as parameter, it is a shared instance anyway and the lifecycle is pretty much the app lifecycle from the moment we instantiate a map. - Rename to BackgroundScheduler because it is a Scheduler that will do tasks in the background, we don't make assumptions if it is a thread pool or a single thread. - Most importantly, remove the dependency from `core` on `platform`. --- platform/macos/core-files.json | 6 +----- platform/macos/src/MGLMapView.mm | 8 ++------ 2 files changed, 3 insertions(+), 11 deletions(-) (limited to 'platform/macos') diff --git a/platform/macos/core-files.json b/platform/macos/core-files.json index 9ec41f651a..abeda5796b 100644 --- a/platform/macos/core-files.json +++ b/platform/macos/core-files.json @@ -13,9 +13,7 @@ "platform/default/src/mbgl/gl/headless_frontend.cpp", "platform/default/src/mbgl/map/map_snapshotter.cpp", "platform/default/src/mbgl/text/bidi.cpp", - "platform/default/src/mbgl/util/default_thread_pool.cpp", "platform/default/src/mbgl/util/png_writer.cpp", - "platform/default/src/mbgl/util/shared_thread_pool.cpp", "platform/default/src/mbgl/util/thread_local.cpp", "platform/default/src/mbgl/util/utf.cpp" ], @@ -24,9 +22,7 @@ "mbgl/util/image+MGLAdditions.hpp": "platform/darwin/include/mbgl/util/image+MGLAdditions.hpp", "mbgl/gl/headless_backend.hpp": "platform/default/include/mbgl/gl/headless_backend.hpp", "mbgl/gl/headless_frontend.hpp": "platform/default/include/mbgl/gl/headless_frontend.hpp", - "mbgl/map/map_snapshotter.hpp": "platform/default/include/mbgl/map/map_snapshotter.hpp", - "mbgl/util/default_thread_pool.hpp": "platform/default/include/mbgl/util/default_thread_pool.hpp", - "mbgl/util/shared_thread_pool.hpp": "platform/default/include/mbgl/util/shared_thread_pool.hpp" + "mbgl/map/map_snapshotter.hpp": "platform/default/include/mbgl/map/map_snapshotter.hpp" }, "private_headers": { "CFHandle.hpp": "platform/darwin/src/CFHandle.hpp" diff --git a/platform/macos/src/MGLMapView.mm b/platform/macos/src/MGLMapView.mm index e9259cf907..77eb300aef 100644 --- a/platform/macos/src/MGLMapView.mm +++ b/platform/macos/src/MGLMapView.mm @@ -31,7 +31,6 @@ #import #import #import -#import #import #import #import @@ -43,7 +42,6 @@ #import #import #import -#import #import #import @@ -164,7 +162,6 @@ public: mbgl::Map *_mbglMap; MGLMapViewImpl *_mbglView; std::unique_ptr _rendererFrontend; - std::shared_ptr _mbglThreadPool; NSPanGestureRecognizer *_panGestureRecognizer; NSMagnificationGestureRecognizer *_magnificationGestureRecognizer; @@ -283,10 +280,9 @@ public: NSURL *legacyCacheURL = [cachesDirectoryURL URLByAppendingPathComponent:@"cache.db"]; [[NSFileManager defaultManager] removeItemAtURL:legacyCacheURL error:NULL]; - _mbglThreadPool = mbgl::sharedThreadPool(); MGLRendererConfiguration *config = [MGLRendererConfiguration currentConfiguration]; - auto renderer = std::make_unique(*_mbglView, config.scaleFactor, *_mbglThreadPool, config.cacheDir, config.localFontFamilyName); + auto renderer = std::make_unique(*_mbglView, config.scaleFactor, config.cacheDir, config.localFontFamilyName); BOOL enableCrossSourceCollisions = !config.perSourceCollisions; _rendererFrontend = std::make_unique(std::move(renderer), self, *_mbglView, true); @@ -302,7 +298,7 @@ public: resourceOptions.withCachePath([[MGLOfflineStorage sharedOfflineStorage] mbglCachePath]) .withAssetPath([NSBundle mainBundle].resourceURL.path.UTF8String); - _mbglMap = new mbgl::Map(*_rendererFrontend, *_mbglView, *_mbglThreadPool, mapOptions, resourceOptions); + _mbglMap = new mbgl::Map(*_rendererFrontend, *_mbglView, mapOptions, resourceOptions); // Install the OpenGL layer. Interface Builder’s synchronous drawing means // we can’t display a map, so don’t even bother to have a map layer. -- cgit v1.2.1