#pragma once #import "MGLStyleLayer_Private.h" #include #include #include #include namespace mbgl { class LayerManagerDarwin : public style::LayerManager { public: static LayerManagerDarwin* get() noexcept; ~LayerManagerDarwin(); MGLStyleLayer* createPeer(style::Layer*); private: LayerManagerDarwin(); void addLayerType(std::unique_ptr); // LayerManager overrides. std::unique_ptr createLayer(const std::string& type, const std::string& id, const style::conversion::Convertible& value, style::conversion::Error& error) noexcept final; std::vector> factories; std::map typeToFactory; }; } // namespace mbgl