diff options
Diffstat (limited to 'platform/darwin/src/MGLStyleLayerManager.h')
-rw-r--r-- | platform/darwin/src/MGLStyleLayerManager.h | 16 |
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; }; |