summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-06-13 13:43:46 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2016-06-14 11:25:45 -0700
commit2257ebf1c2297754960b4a1f1d5c3d25717c17db (patch)
tree17d0727d65332dfab7b992639484344c196506aa
parent14ab6661e03970b8b6d13d9cdf7a749690ea1843 (diff)
downloadqtlocation-mapboxgl-2257ebf1c2297754960b4a1f1d5c3d25717c17db.tar.gz
[core] Push Source::req down into subclasses
-rw-r--r--src/mbgl/style/source.hpp2
-rw-r--r--src/mbgl/style/sources/geojson_source.cpp2
-rw-r--r--src/mbgl/style/sources/geojson_source.hpp5
-rw-r--r--src/mbgl/style/tile_source.cpp2
-rw-r--r--src/mbgl/style/tile_source.hpp7
5 files changed, 16 insertions, 2 deletions
diff --git a/src/mbgl/style/source.hpp b/src/mbgl/style/source.hpp
index 485f3446ca..3bed992cab 100644
--- a/src/mbgl/style/source.hpp
+++ b/src/mbgl/style/source.hpp
@@ -20,7 +20,6 @@ namespace mbgl {
class Painter;
class FileSource;
-class AsyncRequest;
class TransformState;
class RenderTile;
struct ClipID;
@@ -92,7 +91,6 @@ protected:
void invalidateTiles();
std::unique_ptr<const Tileset> tileset;
- std::unique_ptr<AsyncRequest> req;
SourceObserver* observer = nullptr;
diff --git a/src/mbgl/style/sources/geojson_source.cpp b/src/mbgl/style/sources/geojson_source.cpp
index 42e0d71985..af537ff6ce 100644
--- a/src/mbgl/style/sources/geojson_source.cpp
+++ b/src/mbgl/style/sources/geojson_source.cpp
@@ -22,6 +22,8 @@ GeoJSONSource::GeoJSONSource(std::string id_,
geojsonvt(std::move(geojsonvt_)) {
}
+GeoJSONSource::~GeoJSONSource() = default;
+
void GeoJSONSource::load(FileSource& fileSource) {
if (url.empty()) {
// If the URL is empty, the GeoJSON was specified inline in the stylesheet.
diff --git a/src/mbgl/style/sources/geojson_source.hpp b/src/mbgl/style/sources/geojson_source.hpp
index 670eb26964..4c5bbf63df 100644
--- a/src/mbgl/style/sources/geojson_source.hpp
+++ b/src/mbgl/style/sources/geojson_source.hpp
@@ -9,6 +9,9 @@ class GeoJSONVT;
} // namespace mapbox
namespace mbgl {
+
+class AsyncRequest;
+
namespace style {
class GeoJSONSource : public Source {
@@ -18,6 +21,7 @@ public:
uint16_t tileSize,
std::unique_ptr<Tileset>&&,
std::unique_ptr<mapbox::geojsonvt::GeoJSONVT>&&);
+ ~GeoJSONSource() final;
void load(FileSource&) final;
@@ -25,6 +29,7 @@ private:
std::unique_ptr<Tile> createTile(const OverscaledTileID&, const UpdateParameters&) final;
std::unique_ptr<mapbox::geojsonvt::GeoJSONVT> geojsonvt;
+ std::unique_ptr<AsyncRequest> req;
};
} // namespace style
diff --git a/src/mbgl/style/tile_source.cpp b/src/mbgl/style/tile_source.cpp
index 90f4b54d96..816bbe9667 100644
--- a/src/mbgl/style/tile_source.cpp
+++ b/src/mbgl/style/tile_source.cpp
@@ -14,6 +14,8 @@ TileSource::TileSource(SourceType type_,
: Source(type_, std::move(id_), std::move(url_), tileSize_, std::move(tileset_)) {
}
+TileSource::~TileSource() = default;
+
void TileSource::load(FileSource& fileSource) {
if (url.empty()) {
// If the URL is empty, the TileJSON was specified inline in the stylesheet.
diff --git a/src/mbgl/style/tile_source.hpp b/src/mbgl/style/tile_source.hpp
index dc48080ea0..bfabb838c0 100644
--- a/src/mbgl/style/tile_source.hpp
+++ b/src/mbgl/style/tile_source.hpp
@@ -3,6 +3,9 @@
#include <mbgl/style/source.hpp>
namespace mbgl {
+
+class AsyncRequest;
+
namespace style {
/*
@@ -16,8 +19,12 @@ public:
std::string url,
uint16_t tileSize,
std::unique_ptr<Tileset>&&);
+ ~TileSource() override;
void load(FileSource&) final;
+
+private:
+ std::unique_ptr<AsyncRequest> req;
};
} // namespace style