summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-06-14 10:43:28 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2016-06-14 11:25:45 -0700
commite6ba10ceed93c3b565a80591d8def5f0e7d72aac (patch)
treec9ffef66a318e06643acab1949440394fdf9bc54
parenteecf9e7d231f282ec4ecf989360106aa91263800 (diff)
downloadqtlocation-mapboxgl-e6ba10ceed93c3b565a80591d8def5f0e7d72aac.tar.gz
[core] Introduce shared base class for VectorSource and RasterSource
-rw-r--r--src/mbgl/style/sources/raster_source.cpp2
-rw-r--r--src/mbgl/style/sources/raster_source.hpp4
-rw-r--r--src/mbgl/style/sources/vector_source.cpp2
-rw-r--r--src/mbgl/style/sources/vector_source.hpp4
-rw-r--r--src/mbgl/style/tile_source.cpp15
-rw-r--r--src/mbgl/style/tile_source.hpp22
6 files changed, 43 insertions, 6 deletions
diff --git a/src/mbgl/style/sources/raster_source.cpp b/src/mbgl/style/sources/raster_source.cpp
index de8b248421..85d33dc72b 100644
--- a/src/mbgl/style/sources/raster_source.cpp
+++ b/src/mbgl/style/sources/raster_source.cpp
@@ -8,7 +8,7 @@ RasterSource::RasterSource(std::string id_,
std::string url_,
uint16_t tileSize_,
std::unique_ptr<Tileset>&& tileset_)
- : Source(SourceType::Raster, std::move(id_), std::move(url_), tileSize_, std::move(tileset_)) {
+ : TileSource(SourceType::Raster, std::move(id_), std::move(url_), tileSize_, std::move(tileset_)) {
}
std::unique_ptr<Tile> RasterSource::createTile(const OverscaledTileID& tileID,
diff --git a/src/mbgl/style/sources/raster_source.hpp b/src/mbgl/style/sources/raster_source.hpp
index abc203e3cb..4702052b77 100644
--- a/src/mbgl/style/sources/raster_source.hpp
+++ b/src/mbgl/style/sources/raster_source.hpp
@@ -1,11 +1,11 @@
#pragma once
-#include <mbgl/style/source.hpp>
+#include <mbgl/style/tile_source.hpp>
namespace mbgl {
namespace style {
-class RasterSource : public Source {
+class RasterSource : public TileSource {
public:
RasterSource(std::string id,
std::string url,
diff --git a/src/mbgl/style/sources/vector_source.cpp b/src/mbgl/style/sources/vector_source.cpp
index 5cf0a1e182..888c1896e1 100644
--- a/src/mbgl/style/sources/vector_source.cpp
+++ b/src/mbgl/style/sources/vector_source.cpp
@@ -7,7 +7,7 @@ namespace style {
VectorSource::VectorSource(std::string id_,
std::string url_,
std::unique_ptr<Tileset>&& tileset_)
- : Source(SourceType::Vector, std::move(id_), std::move(url_), util::tileSize, std::move(tileset_)) {
+ : TileSource(SourceType::Vector, std::move(id_), std::move(url_), util::tileSize, std::move(tileset_)) {
}
std::unique_ptr<Tile> VectorSource::createTile(const OverscaledTileID& tileID,
diff --git a/src/mbgl/style/sources/vector_source.hpp b/src/mbgl/style/sources/vector_source.hpp
index e98c17ddc1..c96b7bd1e4 100644
--- a/src/mbgl/style/sources/vector_source.hpp
+++ b/src/mbgl/style/sources/vector_source.hpp
@@ -1,11 +1,11 @@
#pragma once
-#include <mbgl/style/source.hpp>
+#include <mbgl/style/tile_source.hpp>
namespace mbgl {
namespace style {
-class VectorSource : public Source {
+class VectorSource : public TileSource {
public:
VectorSource(std::string id,
std::string url,
diff --git a/src/mbgl/style/tile_source.cpp b/src/mbgl/style/tile_source.cpp
new file mode 100644
index 0000000000..22739035a9
--- /dev/null
+++ b/src/mbgl/style/tile_source.cpp
@@ -0,0 +1,15 @@
+#include <mbgl/style/tile_source.hpp>
+
+namespace mbgl {
+namespace style {
+
+TileSource::TileSource(SourceType type_,
+ std::string id_,
+ std::string url_,
+ uint16_t tileSize_,
+ std::unique_ptr<Tileset>&& tileset_)
+ : Source(type_, std::move(id_), std::move(url_), tileSize_, std::move(tileset_)) {
+}
+
+} // namespace style
+} // namespace mbgl
diff --git a/src/mbgl/style/tile_source.hpp b/src/mbgl/style/tile_source.hpp
new file mode 100644
index 0000000000..8c69ad451f
--- /dev/null
+++ b/src/mbgl/style/tile_source.hpp
@@ -0,0 +1,22 @@
+#pragma once
+
+#include <mbgl/style/source.hpp>
+
+namespace mbgl {
+namespace style {
+
+/*
+ Shared implementation for VectorSource and RasterSource. Should eventually
+ be refactored to use composition rather than inheritance.
+*/
+class TileSource : public Source {
+public:
+ TileSource(SourceType,
+ std::string id,
+ std::string url,
+ uint16_t tileSize,
+ std::unique_ptr<Tileset>&&);
+};
+
+} // namespace style
+} // namespace mbgl