[core] Introduce shared base class for VectorSource and RasterSource

This commit is contained in:
John Firebaugh
2016-06-14 10:43:28 -07:00
parent eecf9e7d23
commit e6ba10ceed
6 changed files with 43 additions and 6 deletions

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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

View File

@@ -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