summaryrefslogtreecommitdiff
path: root/platform/darwin/src/MGLStyleLayerManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'platform/darwin/src/MGLStyleLayerManager.h')
-rw-r--r--platform/darwin/src/MGLStyleLayerManager.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/platform/darwin/src/MGLStyleLayerManager.h b/platform/darwin/src/MGLStyleLayerManager.h
index cdd30f4fff..95fecd0252 100644
--- a/platform/darwin/src/MGLStyleLayerManager.h
+++ b/platform/darwin/src/MGLStyleLayerManager.h
@@ -20,13 +20,27 @@ public:
private:
LayerManagerDarwin();
+ /**
+ * Enables a layer type for both JSON style and runtime API.
+ */
void addLayerType(std::unique_ptr<LayerPeerFactory>);
+ /**
+ * Enables a layer type for JSON style only.
+ *
+ * We might not want to expose runtime API for some layer types
+ * in order to save binary size (the corresponding SDK layer wrappers
+ * should be excluded from the project build).
+ */
+ void addLayerTypeCoreOnly(std::unique_ptr<mbgl::LayerFactory>);
+
+ void registerCoreFactory(LayerFactory*);
LayerPeerFactory* getPeerFactory(const style::LayerTypeInfo* typeInfo);
// mbgl::LayerManager overrides.
LayerFactory* getFactory(const std::string& type) noexcept final;
LayerFactory* getFactory(const mbgl::style::LayerTypeInfo* info) noexcept final;
- std::vector<std::unique_ptr<LayerPeerFactory>> factories;
+ std::vector<std::unique_ptr<LayerPeerFactory>> peerFactories;
+ std::vector<std::unique_ptr<LayerFactory>> coreFactories;
std::map<std::string, LayerFactory*> typeToFactory;
};