From e6ba10ceed93c3b565a80591d8def5f0e7d72aac Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Tue, 14 Jun 2016 10:43:28 -0700 Subject: [PATCH] [core] Introduce shared base class for VectorSource and RasterSource --- src/mbgl/style/sources/raster_source.cpp | 2 +- src/mbgl/style/sources/raster_source.hpp | 4 ++-- src/mbgl/style/sources/vector_source.cpp | 2 +- src/mbgl/style/sources/vector_source.hpp | 4 ++-- src/mbgl/style/tile_source.cpp | 15 +++++++++++++++ src/mbgl/style/tile_source.hpp | 22 ++++++++++++++++++++++ 6 files changed, 43 insertions(+), 6 deletions(-) create mode 100644 src/mbgl/style/tile_source.cpp create mode 100644 src/mbgl/style/tile_source.hpp diff --git a/src/mbgl/style/sources/raster_source.cpp b/src/mbgl/style/sources/raster_source.cpp index de8b24842..85d33dc72 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_) - : 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 RasterSource::createTile(const OverscaledTileID& tileID, diff --git a/src/mbgl/style/sources/raster_source.hpp b/src/mbgl/style/sources/raster_source.hpp index abc203e3c..4702052b7 100644 --- a/src/mbgl/style/sources/raster_source.hpp +++ b/src/mbgl/style/sources/raster_source.hpp @@ -1,11 +1,11 @@ #pragma once -#include +#include 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 5cf0a1e18..888c1896e 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_) - : 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 VectorSource::createTile(const OverscaledTileID& tileID, diff --git a/src/mbgl/style/sources/vector_source.hpp b/src/mbgl/style/sources/vector_source.hpp index e98c17ddc..c96b7bd1e 100644 --- a/src/mbgl/style/sources/vector_source.hpp +++ b/src/mbgl/style/sources/vector_source.hpp @@ -1,11 +1,11 @@ #pragma once -#include +#include 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 000000000..22739035a --- /dev/null +++ b/src/mbgl/style/tile_source.cpp @@ -0,0 +1,15 @@ +#include + +namespace mbgl { +namespace style { + +TileSource::TileSource(SourceType type_, + std::string id_, + std::string url_, + uint16_t tileSize_, + std::unique_ptr&& 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 000000000..8c69ad451 --- /dev/null +++ b/src/mbgl/style/tile_source.hpp @@ -0,0 +1,22 @@ +#pragma once + +#include + +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&&); +}; + +} // namespace style +} // namespace mbgl