From 6f34e69b2e7bfb61ae4a1c88799397f18d4175a3 Mon Sep 17 00:00:00 2001 From: Mikhail Pozdnyakov Date: Tue, 6 Nov 2018 11:31:37 +0200 Subject: [android] layers.cpp/hpp -> layer_manager.cpp/hpp --- platform/android/core-files.txt | 4 +- platform/android/src/jni.cpp | 2 +- platform/android/src/native_map_view.hpp | 2 +- .../android/src/style/layers/layer_manager.cpp | 114 +++++++++++++++++++++ .../android/src/style/layers/layer_manager.hpp | 39 +++++++ platform/android/src/style/layers/layers.cpp | 114 --------------------- platform/android/src/style/layers/layers.hpp | 39 ------- 7 files changed, 157 insertions(+), 157 deletions(-) create mode 100644 platform/android/src/style/layers/layer_manager.cpp create mode 100644 platform/android/src/style/layers/layer_manager.hpp delete mode 100644 platform/android/src/style/layers/layers.cpp delete mode 100644 platform/android/src/style/layers/layers.hpp diff --git a/platform/android/core-files.txt b/platform/android/core-files.txt index 5736276364..4005aba1e5 100644 --- a/platform/android/core-files.txt +++ b/platform/android/core-files.txt @@ -95,8 +95,8 @@ platform/android/src/style/layers/hillshade_layer.cpp platform/android/src/style/layers/hillshade_layer.hpp platform/android/src/style/layers/layer.cpp platform/android/src/style/layers/layer.hpp -platform/android/src/style/layers/layers.cpp -platform/android/src/style/layers/layers.hpp +platform/android/src/style/layers/layer_manager.cpp +platform/android/src/style/layers/layer_manager.hpp platform/android/src/style/layers/line_layer.cpp platform/android/src/style/layers/line_layer.hpp platform/android/src/style/layers/raster_layer.cpp diff --git a/platform/android/src/jni.cpp b/platform/android/src/jni.cpp index 4e9cc2af07..8c1e45f7d3 100755 --- a/platform/android/src/jni.cpp +++ b/platform/android/src/jni.cpp @@ -43,7 +43,7 @@ #include "offline/offline_region_error.hpp" #include "offline/offline_region_status.hpp" #include "style/transition_options.hpp" -#include "style/layers/layers.hpp" +#include "style/layers/layer_manager.hpp" #include "style/sources/source.hpp" #include "style/light.hpp" #include "snapshotter/map_snapshotter.hpp" diff --git a/platform/android/src/native_map_view.hpp b/platform/android/src/native_map_view.hpp index 08f1efa46d..704331d8e2 100755 --- a/platform/android/src/native_map_view.hpp +++ b/platform/android/src/native_map_view.hpp @@ -18,7 +18,7 @@ #include "geojson/geometry.hpp" #include "geometry/lat_lng.hpp" #include "geometry/projected_meters.hpp" -#include "style/layers/layers.hpp" +#include "style/layers/layer_manager.hpp" #include "style/sources/source.hpp" #include "geometry/lat_lng_bounds.hpp" #include "map/camera_position.hpp" diff --git a/platform/android/src/style/layers/layer_manager.cpp b/platform/android/src/style/layers/layer_manager.cpp new file mode 100644 index 0000000000..ed553bc8e6 --- /dev/null +++ b/platform/android/src/style/layers/layer_manager.cpp @@ -0,0 +1,114 @@ +#include "layer_manager.hpp" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "background_layer.hpp" +#include "circle_layer.hpp" +#include "custom_layer.hpp" +#include "fill_extrusion_layer.hpp" +#include "fill_layer.hpp" +#include "heatmap_layer.hpp" +#include "hillshade_layer.hpp" +#include "line_layer.hpp" +#include "raster_layer.hpp" +#include "symbol_layer.hpp" +#include "fill_extrusion_layer.hpp" + +namespace mbgl { + +namespace android { + +LayerManagerAndroid::LayerManagerAndroid() { + factories.emplace_back(std::unique_ptr(new FillJavaLayerPeerFactory)); + factories.emplace_back(std::unique_ptr(new LineJavaLayerPeerFactory)); + factories.emplace_back(std::unique_ptr(new CircleJavaLayerPeerFactory)); + factories.emplace_back(std::unique_ptr(new SymbolJavaLayerPeerFactory)); + factories.emplace_back(std::unique_ptr(new RasterJavaLayerPeerFactory)); + factories.emplace_back(std::unique_ptr(new BackgroundJavaLayerPeerFactory)); + factories.emplace_back(std::unique_ptr(new HillshadeJavaLayerPeerFactory)); + factories.emplace_back(std::unique_ptr(new FillExtrusionJavaLayerPeerFactory)); + factories.emplace_back(std::unique_ptr(new HeatmapJavaLayerPeerFactory)); + factories.emplace_back(std::unique_ptr(new CustomJavaLayerPeerFactory)); +} + +LayerManagerAndroid::~LayerManagerAndroid() = default; + +jni::Local> LayerManagerAndroid::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, mbgl::style::Layer& layer) { + if (JavaLayerPeerFactory* factory = getPeerFactory(&layer)) { + return factory->createJavaLayerPeer(env, map, layer); + } + return jni::Local>(); +} + +jni::Local> LayerManagerAndroid::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr layer) { + if (JavaLayerPeerFactory* factory = getPeerFactory(layer.get())) { + return factory->createJavaLayerPeer(env, map, std::move(layer)); + } + return jni::Local>(); +} + +void LayerManagerAndroid::registerNative(jni::JNIEnv& env) { + Layer::registerNative(env); + for (const auto& factory: factories) { + factory->registerNative(env); + } +} + +JavaLayerPeerFactory* LayerManagerAndroid::getPeerFactory(mbgl::style::Layer* layer) { + auto* layerFactory = layer->baseImpl->getLayerFactory(); + assert(layerFactory); + for (const auto& factory: factories) { + if (factory->getLayerFactory() == layerFactory) { + return factory.get(); + } + } + assert(false); + return nullptr; +} + +std::unique_ptr LayerManagerAndroid::createLayer(const std::string& type, const std::string& id, const style::conversion::Convertible& value, style::conversion::Error& error) { + for (const auto& factory: factories) { + auto* layerFactory = factory->getLayerFactory(); + if (layerFactory->supportsType(type)) { + if (auto layer = layerFactory->createLayer(id, value)) { + return layer; + } + error.message = "Error parsing a layer of type: " + type; + return nullptr; + } + } + error.message = "Unsupported layer type: " + type; + return nullptr; +} + +// static +LayerManagerAndroid* LayerManagerAndroid::get() { + static LayerManagerAndroid impl; + return &impl; +} + +} // namespace android + +namespace style { +// static +LayerManager* LayerManager::get() { + return android::LayerManagerAndroid::get(); +} + +} // style +} // namespace mbgl diff --git a/platform/android/src/style/layers/layer_manager.hpp b/platform/android/src/style/layers/layer_manager.hpp new file mode 100644 index 0000000000..7684108555 --- /dev/null +++ b/platform/android/src/style/layers/layer_manager.hpp @@ -0,0 +1,39 @@ +#pragma once + +#include +#include + +#include "layer.hpp" + +#include + +#include +#include + +namespace mbgl { +namespace android { + +/** + * @brief A singleton class forwarding calls to the corresponding \c JavaLayerPeerFactory instance. + */ +class LayerManagerAndroid : public mbgl::style::LayerManager { +public: + ~LayerManagerAndroid() override; + static LayerManagerAndroid* get(); + + jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::Map&, mbgl::style::Layer&); + jni::Local> createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr); + + void registerNative(jni::JNIEnv&); + +private: + LayerManagerAndroid(); + JavaLayerPeerFactory* getPeerFactory(mbgl::style::Layer*); + // mbgl:style::LayerManager overrides. + std::unique_ptr createLayer(const std::string& type, const std::string& id, const style::conversion::Convertible& value, style::conversion::Error& error) final; + + std::vector> factories; +}; + +} +} diff --git a/platform/android/src/style/layers/layers.cpp b/platform/android/src/style/layers/layers.cpp deleted file mode 100644 index 30421d31dd..0000000000 --- a/platform/android/src/style/layers/layers.cpp +++ /dev/null @@ -1,114 +0,0 @@ -#include "layers.hpp" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "background_layer.hpp" -#include "circle_layer.hpp" -#include "custom_layer.hpp" -#include "fill_extrusion_layer.hpp" -#include "fill_layer.hpp" -#include "heatmap_layer.hpp" -#include "hillshade_layer.hpp" -#include "line_layer.hpp" -#include "raster_layer.hpp" -#include "symbol_layer.hpp" -#include "fill_extrusion_layer.hpp" - -namespace mbgl { - -namespace android { - -LayerManagerAndroid::LayerManagerAndroid() { - factories.emplace_back(std::unique_ptr(new FillJavaLayerPeerFactory)); - factories.emplace_back(std::unique_ptr(new LineJavaLayerPeerFactory)); - factories.emplace_back(std::unique_ptr(new CircleJavaLayerPeerFactory)); - factories.emplace_back(std::unique_ptr(new SymbolJavaLayerPeerFactory)); - factories.emplace_back(std::unique_ptr(new RasterJavaLayerPeerFactory)); - factories.emplace_back(std::unique_ptr(new BackgroundJavaLayerPeerFactory)); - factories.emplace_back(std::unique_ptr(new HillshadeJavaLayerPeerFactory)); - factories.emplace_back(std::unique_ptr(new FillExtrusionJavaLayerPeerFactory)); - factories.emplace_back(std::unique_ptr(new HeatmapJavaLayerPeerFactory)); - factories.emplace_back(std::unique_ptr(new CustomJavaLayerPeerFactory)); -} - -LayerManagerAndroid::~LayerManagerAndroid() = default; - -jni::Local> LayerManagerAndroid::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, mbgl::style::Layer& layer) { - if (JavaLayerPeerFactory* factory = getPeerFactory(&layer)) { - return factory->createJavaLayerPeer(env, map, layer); - } - return jni::Local>(); -} - -jni::Local> LayerManagerAndroid::createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr layer) { - if (JavaLayerPeerFactory* factory = getPeerFactory(layer.get())) { - return factory->createJavaLayerPeer(env, map, std::move(layer)); - } - return jni::Local>(); -} - -void LayerManagerAndroid::registerNative(jni::JNIEnv& env) { - Layer::registerNative(env); - for (const auto& factory: factories) { - factory->registerNative(env); - } -} - -JavaLayerPeerFactory* LayerManagerAndroid::getPeerFactory(mbgl::style::Layer* layer) { - auto* layerFactory = layer->baseImpl->getLayerFactory(); - assert(layerFactory); - for (const auto& factory: factories) { - if (factory->getLayerFactory() == layerFactory) { - return factory.get(); - } - } - assert(false); - return nullptr; -} - -std::unique_ptr LayerManagerAndroid::createLayer(const std::string& type, const std::string& id, const style::conversion::Convertible& value, style::conversion::Error& error) { - for (const auto& factory: factories) { - auto* layerFactory = factory->getLayerFactory(); - if (layerFactory->supportsType(type)) { - if (auto layer = layerFactory->createLayer(id, value)) { - return layer; - } - error.message = "Error parsing a layer of type: " + type; - return nullptr; - } - } - error.message = "Unsupported layer type: " + type; - return nullptr; -} - -// static -LayerManagerAndroid* LayerManagerAndroid::get() { - static LayerManagerAndroid impl; - return &impl; -} - -} // namespace android - -namespace style { -// static -LayerManager* LayerManager::get() { - return android::LayerManagerAndroid::get(); -} - -} // style -} // namespace mbgl diff --git a/platform/android/src/style/layers/layers.hpp b/platform/android/src/style/layers/layers.hpp deleted file mode 100644 index 7684108555..0000000000 --- a/platform/android/src/style/layers/layers.hpp +++ /dev/null @@ -1,39 +0,0 @@ -#pragma once - -#include -#include - -#include "layer.hpp" - -#include - -#include -#include - -namespace mbgl { -namespace android { - -/** - * @brief A singleton class forwarding calls to the corresponding \c JavaLayerPeerFactory instance. - */ -class LayerManagerAndroid : public mbgl::style::LayerManager { -public: - ~LayerManagerAndroid() override; - static LayerManagerAndroid* get(); - - jni::Local> createJavaLayerPeer(jni::JNIEnv&, mbgl::Map&, mbgl::style::Layer&); - jni::Local> createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr); - - void registerNative(jni::JNIEnv&); - -private: - LayerManagerAndroid(); - JavaLayerPeerFactory* getPeerFactory(mbgl::style::Layer*); - // mbgl:style::LayerManager overrides. - std::unique_ptr createLayer(const std::string& type, const std::string& id, const style::conversion::Convertible& value, style::conversion::Error& error) final; - - std::vector> factories; -}; - -} -} -- cgit v1.2.1