diff options
Diffstat (limited to 'src/mbgl/style/source_impl.hpp')
-rw-r--r-- | src/mbgl/style/source_impl.hpp | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/src/mbgl/style/source_impl.hpp b/src/mbgl/style/source_impl.hpp index 2514ec5120..3620ec4e50 100644 --- a/src/mbgl/style/source_impl.hpp +++ b/src/mbgl/style/source_impl.hpp @@ -3,35 +3,30 @@ #include <mbgl/style/source.hpp> #include <mbgl/util/noncopyable.hpp> +#include <string> + namespace mbgl { -class FileSource; class RenderSource; namespace style { class SourceObserver; -class Source::Impl : private util::noncopyable { +class Source::Impl : public EnableImmutableFromThis<Source::Impl> { public: - Impl(SourceType, std::string id, Source&); virtual ~Impl() = default; - virtual void loadDescription(FileSource&) = 0; + virtual optional<std::string> getAttribution() const = 0; virtual std::unique_ptr<RenderSource> createRenderSource() const = 0; - virtual optional<std::string> getAttribution() const { return {}; }; - const SourceType type; const std::string id; - bool loaded = false; - Source& base; - - void setObserver(SourceObserver*); - SourceObserver* observer = nullptr; - - void dumpDebugLogs() const; +protected: + Impl(SourceType, std::string); + Impl(const Impl&) = default; + Impl& operator=(const Impl&) = delete; }; } // namespace style |