From 879c44f661c5eb762c93a721b657859a71aabfc7 Mon Sep 17 00:00:00 2001 From: Alexander Shalamov Date: Fri, 4 Oct 2019 15:02:01 +0300 Subject: [core] Modularize FileSource codebase (#15768) * [core] Introduce FileSourceManager and use it for default platform impl - Add `FileSourceManager` interface that provides access to `FileSource` instances and means of registering / unregistering `FileSource` factories - Split `DefaultFileSource` into smaller parts - Add `DatabaseFileSource` interface and it's default implementation - Remove inter-dependencies between concrete `FileSource` classes * [build] Add files to next build system * [core] Add generic property setters / getters * [core] Remove setOnlineStatus from OnlineFileSource interface * [core] Hide threading implementation details from DatabaseFileSource interface * [core] Make DB file source methods virtual * [core] Add documentation for DatabaseFileSource and rename one method * [core] Use simple callback instead of ActorRef * [core] Remove ActorRef from OnlineFileSource public header * [core] Add callback to FileSource::forward async API * [core] Pass OfflineRegionDefinition by value * [core] Update tests to use modular file sources * [core] Update unit tests * [core] Update unit tests after rebase * [core] Backport low prio fix for cached requests * [core] Backport pack database * [core] Return removed factory from unRegisterFileSourceFactory * [core] Rename shadowed args in onlinefilesource * [core] Remove simple std::function callback aliases * [core] Expose online file source property keys in public header file * [test-runner] Add proxy file source test runner * [cache] Update mbgl-cache utility to use new file source * [metrics] Rebaseline binary size metrics * [offline] Update offline utility * [core] Update changelog --- next/CMakeLists.txt | 6 ++++-- next/platform/android/android.cmake | 6 +++--- next/platform/ios/ios.cmake | 5 +++-- next/platform/linux/linux.cmake | 5 +++-- next/platform/macos/macos.cmake | 5 +++-- next/platform/qt/qt.cmake | 5 +++-- next/test/CMakeLists.txt | 2 +- 7 files changed, 20 insertions(+), 14 deletions(-) (limited to 'next') diff --git a/next/CMakeLists.txt b/next/CMakeLists.txt index f0beebdb46..1950a1144a 100644 --- a/next/CMakeLists.txt +++ b/next/CMakeLists.txt @@ -130,8 +130,9 @@ add_library( ${MBGL_ROOT}/include/mbgl/renderer/renderer_frontend.hpp ${MBGL_ROOT}/include/mbgl/renderer/renderer_observer.hpp ${MBGL_ROOT}/include/mbgl/renderer/renderer_state.hpp - ${MBGL_ROOT}/include/mbgl/storage/default_file_source.hpp + ${MBGL_ROOT}/include/mbgl/storage/database_file_source.hpp ${MBGL_ROOT}/include/mbgl/storage/file_source.hpp + ${MBGL_ROOT}/include/mbgl/storage/file_source_manager.hpp ${MBGL_ROOT}/include/mbgl/storage/network_status.hpp ${MBGL_ROOT}/include/mbgl/storage/offline.hpp ${MBGL_ROOT}/include/mbgl/storage/online_file_source.hpp @@ -596,9 +597,10 @@ add_library( ${MBGL_ROOT}/src/mbgl/sprite/sprite_parser.cpp ${MBGL_ROOT}/src/mbgl/sprite/sprite_parser.hpp ${MBGL_ROOT}/src/mbgl/storage/asset_file_source.hpp - ${MBGL_ROOT}/src/mbgl/storage/file_source.cpp + ${MBGL_ROOT}/src/mbgl/storage/file_source_manager.cpp ${MBGL_ROOT}/src/mbgl/storage/http_file_source.hpp ${MBGL_ROOT}/src/mbgl/storage/local_file_source.hpp + ${MBGL_ROOT}/src/mbgl/storage/main_resource_loader.hpp ${MBGL_ROOT}/src/mbgl/storage/network_status.cpp ${MBGL_ROOT}/src/mbgl/storage/resource.cpp ${MBGL_ROOT}/src/mbgl/storage/resource_options.cpp diff --git a/next/platform/android/android.cmake b/next/platform/android/android.cmake index 429963b87b..454e11bcd2 100644 --- a/next/platform/android/android.cmake +++ b/next/platform/android/android.cmake @@ -214,10 +214,12 @@ target_sources( ${MBGL_ROOT}/platform/default/src/mbgl/gl/headless_backend.cpp ${MBGL_ROOT}/platform/default/src/mbgl/map/map_snapshotter.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/asset_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/default_file_source.cpp + ${MBGL_ROOT}/platform/default/src/mbgl/storage/database_file_source.cpp + ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_manager.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_request.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_request.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_source.cpp + ${MBGL_ROOT}/platform/default/src/mbgl/storage/main_resource_loader.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_database.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_download.cpp @@ -327,7 +329,6 @@ add_library( ${MBGL_ROOT}/platform/default/src/mbgl/text/local_glyph_rasterizer.cpp ${MBGL_ROOT}/platform/android/src/test/collator_test_stub.cpp ${MBGL_ROOT}/platform/android/src/test/number_format_test_stub.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source.cpp ${MBGL_ROOT}/platform/android/src/test/http_file_source_test_stub.cpp ) @@ -377,7 +378,6 @@ add_library( ${MBGL_ROOT}/platform/default/src/mbgl/text/local_glyph_rasterizer.cpp ${MBGL_ROOT}/platform/android/src/test/collator_test_stub.cpp ${MBGL_ROOT}/platform/android/src/test/number_format_test_stub.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source.cpp ${MBGL_ROOT}/platform/android/src/test/http_file_source_test_stub.cpp ) diff --git a/next/platform/ios/ios.cmake b/next/platform/ios/ios.cmake index f2ab071812..0de0fc1ddc 100644 --- a/next/platform/ios/ios.cmake +++ b/next/platform/ios/ios.cmake @@ -39,11 +39,12 @@ target_sources( ${MBGL_ROOT}/platform/default/src/mbgl/gl/headless_backend.cpp ${MBGL_ROOT}/platform/default/src/mbgl/map/map_snapshotter.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/asset_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/default_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source.cpp + ${MBGL_ROOT}/platform/default/src/mbgl/storage/database_file_source.cpp + ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_manager.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_request.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_request.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_source.cpp + ${MBGL_ROOT}/platform/default/src/mbgl/storage/main_resource_loader.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_database.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_download.cpp diff --git a/next/platform/linux/linux.cmake b/next/platform/linux/linux.cmake index 6c06a75e61..6f2ac12e49 100644 --- a/next/platform/linux/linux.cmake +++ b/next/platform/linux/linux.cmake @@ -19,12 +19,13 @@ target_sources( ${MBGL_ROOT}/platform/default/src/mbgl/i18n/number_format.cpp ${MBGL_ROOT}/platform/default/src/mbgl/layermanager/layer_manager.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/asset_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/default_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source.cpp + ${MBGL_ROOT}/platform/default/src/mbgl/storage/database_file_source.cpp + ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_manager.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_request.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/http_file_source.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_request.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_source.cpp + ${MBGL_ROOT}/platform/default/src/mbgl/storage/main_resource_loader.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_database.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_download.cpp diff --git a/next/platform/macos/macos.cmake b/next/platform/macos/macos.cmake index 9a7f538db6..2b28b7e1e5 100644 --- a/next/platform/macos/macos.cmake +++ b/next/platform/macos/macos.cmake @@ -95,11 +95,12 @@ target_sources( ${MBGL_ROOT}/platform/default/src/mbgl/gl/headless_backend.cpp ${MBGL_ROOT}/platform/default/src/mbgl/map/map_snapshotter.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/asset_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/default_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source.cpp + ${MBGL_ROOT}/platform/default/src/mbgl/storage/database_file_source.cpp + ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_manager.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_request.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_request.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_source.cpp + ${MBGL_ROOT}/platform/default/src/mbgl/storage/main_resource_loader.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_database.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_download.cpp diff --git a/next/platform/qt/qt.cmake b/next/platform/qt/qt.cmake index 4d81891947..74cea29efb 100644 --- a/next/platform/qt/qt.cmake +++ b/next/platform/qt/qt.cmake @@ -32,11 +32,12 @@ target_sources( ${MBGL_ROOT}/platform/default/src/mbgl/i18n/collator.cpp ${MBGL_ROOT}/platform/default/src/mbgl/layermanager/layer_manager.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/asset_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/default_file_source.cpp - ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source.cpp + ${MBGL_ROOT}/platform/default/src/mbgl/storage/database_file_source.cpp + ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_manager.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/file_source_request.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_request.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/local_file_source.cpp + ${MBGL_ROOT}/platform/default/src/mbgl/storage/main_resource_loader.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_database.cpp ${MBGL_ROOT}/platform/default/src/mbgl/storage/offline_download.cpp diff --git a/next/test/CMakeLists.txt b/next/test/CMakeLists.txt index 06d8045d0a..11d108bf3d 100644 --- a/next/test/CMakeLists.txt +++ b/next/test/CMakeLists.txt @@ -35,10 +35,10 @@ add_library( ${MBGL_ROOT}/test/src/mbgl/test/test.cpp ${MBGL_ROOT}/test/src/mbgl/test/util.cpp ${MBGL_ROOT}/test/storage/asset_file_source.test.cpp - ${MBGL_ROOT}/test/storage/default_file_source.test.cpp ${MBGL_ROOT}/test/storage/headers.test.cpp ${MBGL_ROOT}/test/storage/http_file_source.test.cpp ${MBGL_ROOT}/test/storage/local_file_source.test.cpp + ${MBGL_ROOT}/test/storage/main_resource_loader.test.cpp ${MBGL_ROOT}/test/storage/offline.test.cpp ${MBGL_ROOT}/test/storage/offline_database.test.cpp ${MBGL_ROOT}/test/storage/offline_download.test.cpp -- cgit v1.2.1