summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-06-06 17:44:00 -0700
committerKonstantin Käfer <mail@kkaefer.com>2016-06-10 12:42:14 +0200
commit8d8d03a451a6a0ef1a57523274d32ddca0a52de0 (patch)
treecd36a184801f77fea7e000b6a408bc2510c10c05 /src
parent91ddcbce20b69ae4b5615723670fe0f310a528e3 (diff)
downloadqtlocation-mapboxgl-8d8d03a451a6a0ef1a57523274d32ddca0a52de0.tar.gz
[core] Merge VectorTileSource into VectorTileData
Diffstat (limited to 'src')
-rw-r--r--src/mbgl/tile/file_based_tile_source.hpp2
-rw-r--r--src/mbgl/tile/vector_tile_data.cpp12
-rw-r--r--src/mbgl/tile/vector_tile_data.hpp3
-rw-r--r--src/mbgl/tile/vector_tile_source.cpp18
-rw-r--r--src/mbgl/tile/vector_tile_source.hpp20
5 files changed, 14 insertions, 41 deletions
diff --git a/src/mbgl/tile/file_based_tile_source.hpp b/src/mbgl/tile/file_based_tile_source.hpp
index df4dbbfccc..ee06469619 100644
--- a/src/mbgl/tile/file_based_tile_source.hpp
+++ b/src/mbgl/tile/file_based_tile_source.hpp
@@ -10,7 +10,7 @@ class Response;
template <typename T, typename I>
class FileBasedTileSource : public T {
-protected:
+public:
FileBasedTileSource(typename T::data_type&, const Resource&, FileSource&);
virtual ~FileBasedTileSource() = default;
diff --git a/src/mbgl/tile/vector_tile_data.cpp b/src/mbgl/tile/vector_tile_data.cpp
index be56b1abf7..b9cdbc3a99 100644
--- a/src/mbgl/tile/vector_tile_data.cpp
+++ b/src/mbgl/tile/vector_tile_data.cpp
@@ -1,5 +1,8 @@
#include <mbgl/tile/vector_tile_data.hpp>
-#include <mbgl/tile/vector_tile_source.hpp>
+#include <mbgl/tile/file_based_tile_source.hpp>
+#include <mbgl/tile/file_based_tile_source_impl.hpp>
+#include <mbgl/tile/tile_source.hpp>
+#include <mbgl/tile/vector_tile.hpp>
#include <mbgl/style/update_parameters.hpp>
#include <mbgl/util/tileset.hpp>
#include <mbgl/util/async_request.hpp>
@@ -15,7 +18,8 @@ VectorTileData::VectorTileData(const OverscaledTileID& overscaledTileID,
const auto resource = Resource::tile(
tileset.tiles.at(0), parameters.pixelRatio, overscaledTileID.canonical.x,
overscaledTileID.canonical.y, overscaledTileID.canonical.z);
- tileSource = std::make_unique<VectorTileSource>(*this, resource, parameters.fileSource);
+ tileSource = std::make_unique<FileBasedTileSource<GeometryTileSource, VectorTileData>>(
+ *this, resource, parameters.fileSource);
}
VectorTileData::~VectorTileData() = default;
@@ -24,4 +28,8 @@ void VectorTileData::setNecessity(Necessity necessity) {
tileSource->setNecessity(static_cast<TileSource::Necessity>(necessity));
}
+std::unique_ptr<GeometryTile> VectorTileData::parseData(std::shared_ptr<const std::string> data) {
+ return data ? std::make_unique<VectorTile>(data) : nullptr;
+}
+
} // namespace mbgl
diff --git a/src/mbgl/tile/vector_tile_data.hpp b/src/mbgl/tile/vector_tile_data.hpp
index e3b0034f3a..d7a14314d2 100644
--- a/src/mbgl/tile/vector_tile_data.hpp
+++ b/src/mbgl/tile/vector_tile_data.hpp
@@ -6,6 +6,7 @@ namespace mbgl {
class Tileset;
class TileSource;
+class GeometryTile;
namespace style {
class UpdateParameters;
@@ -21,6 +22,8 @@ public:
void setNecessity(Necessity) final;
+ static std::unique_ptr<GeometryTile> parseData(std::shared_ptr<const std::string>);
+
private:
std::unique_ptr<TileSource> tileSource;
};
diff --git a/src/mbgl/tile/vector_tile_source.cpp b/src/mbgl/tile/vector_tile_source.cpp
deleted file mode 100644
index 2439b5f011..0000000000
--- a/src/mbgl/tile/vector_tile_source.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <mbgl/tile/vector_tile_source.hpp>
-#include <mbgl/tile/file_based_tile_source_impl.hpp>
-#include <mbgl/tile/geometry_tile_data.hpp>
-#include <mbgl/tile/vector_tile.hpp>
-
-namespace mbgl {
-
-VectorTileSource::VectorTileSource(GeometryTileData& tileData_,
- const Resource& resource_,
- FileSource& fileSource_)
- : FileBasedTileSource<GeometryTileSource, VectorTileSource>(tileData_, resource_, fileSource_) {
-}
-
-std::unique_ptr<GeometryTile> VectorTileSource::parseData(std::shared_ptr<const std::string> data) {
- return data ? std::make_unique<VectorTile>(data) : nullptr;
-}
-
-} // namespace mbgl
diff --git a/src/mbgl/tile/vector_tile_source.hpp b/src/mbgl/tile/vector_tile_source.hpp
deleted file mode 100644
index a73a80ae12..0000000000
--- a/src/mbgl/tile/vector_tile_source.hpp
+++ /dev/null
@@ -1,20 +0,0 @@
-#pragma once
-
-#include <mbgl/tile/tile_source.hpp>
-#include <mbgl/tile/file_based_tile_source.hpp>
-
-#include <memory>
-
-namespace mbgl {
-
-class GeometryTile;
-
-class VectorTileSource final : public FileBasedTileSource<GeometryTileSource, VectorTileSource> {
-public:
- VectorTileSource(GeometryTileData&, const Resource&, FileSource&);
- virtual ~VectorTileSource() = default;
-
- static std::unique_ptr<GeometryTile> parseData(std::shared_ptr<const std::string>);
-};
-
-} // namespace mbgl