#pragma once #include #include #include class MapLayer : public QObject { Q_OBJECT public: enum class LayerType { Raster, Vector }; explicit MapLayer(const QString& name, const QString& uri); virtual ~MapLayer() override = default; QString name() const; void setName(const QString& n); QString dataPath() const; void setDataPath(const QString& p); virtual LayerType layerType() const = 0; private: QString m_name; QString m_uri; }; Q_DECLARE_METATYPE(MapLayer*)