diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2016-06-06 17:44:00 -0700 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2016-06-10 12:42:14 +0200 |
commit | 8d8d03a451a6a0ef1a57523274d32ddca0a52de0 (patch) | |
tree | cd36a184801f77fea7e000b6a408bc2510c10c05 /src/mbgl | |
parent | 91ddcbce20b69ae4b5615723670fe0f310a528e3 (diff) | |
download | qtlocation-mapboxgl-8d8d03a451a6a0ef1a57523274d32ddca0a52de0.tar.gz |
[core] Merge VectorTileSource into VectorTileData
Diffstat (limited to 'src/mbgl')
-rw-r--r-- | src/mbgl/tile/file_based_tile_source.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/tile/vector_tile_data.cpp | 12 | ||||
-rw-r--r-- | src/mbgl/tile/vector_tile_data.hpp | 3 | ||||
-rw-r--r-- | src/mbgl/tile/vector_tile_source.cpp | 18 | ||||
-rw-r--r-- | src/mbgl/tile/vector_tile_source.hpp | 20 |
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 |