summaryrefslogtreecommitdiff
path: root/src/mbgl/style/source_impl.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/style/source_impl.hpp')
-rw-r--r--src/mbgl/style/source_impl.hpp21
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