7 #include <mapbox/std/weak.hpp>
8 #include <mapbox/util/type_wrapper.hpp>
22 class RasterDEMSource;
45 Source(
const Source&) =
delete;
46 Source& operator=(
const Source&) =
delete;
57 return is<T>() ?
reinterpret_cast<T*
>(
this) :
nullptr;
62 return is<T>() ?
reinterpret_cast<const T*
>(
this) :
nullptr;
67 std::optional<std::string> getAttribution()
const;
70 bool isVolatile() const noexcept;
71 void setVolatile(
bool) noexcept;
77 Immutable<Impl> baseImpl;
79 void setObserver(SourceObserver*);
80 SourceObserver* observer =
nullptr;
82 virtual
void loadDescription(FileSource&) = 0;
83 void setPrefetchZoomDelta(
std::optional<uint8_t> delta) noexcept;
84 std::optional<uint8_t> getPrefetchZoomDelta() const noexcept;
92 void setMinimumTileUpdateInterval(
Duration) noexcept;
93 Duration getMinimumTileUpdateInterval() const noexcept;
106 void setMaxOverscaleFactorForParentTiles(
std::optional<uint8_t> overscaleFactor) noexcept;
107 std::optional<uint8_t> getMaxOverscaleFactorForParentTiles() const noexcept;
108 void dumpDebugLogs() const;
110 virtual
bool supportsLayerType(const
mbgl::style::LayerTypeInfo*) const = 0;
117 mapbox::base::TypeWrapper peer;
119 virtual mapbox::base::WeakPtr<Source> makeWeakPtr() = 0;
122 explicit Source(Immutable<Impl>);
123 virtual Mutable<Impl> createMutable() const noexcept = 0;
std::unique_ptr< Expression > string(std::unique_ptr< Expression >, std::unique_ptr< Expression > def=nullptr)