[core] merge similar implementation of VectorTileSource and ImageTileSource

This commit is contained in:
Konstantin Käfer
2016-05-23 16:38:28 +02:00
parent 971807d3b0
commit 4357fed93b
15 changed files with 101 additions and 73 deletions

View File

@@ -1,25 +1,13 @@
#include <mbgl/tile/image_tile_source.hpp>
#include <mbgl/tile/file_based_tile_source_impl.hpp>
#include <mbgl/tile/raster_tile_data.hpp>
#include <mbgl/storage/file_source.hpp>
namespace mbgl {
ImageTileSource::ImageTileSource(RasterTileData& tileData_,
const Resource& resource_,
FileSource& fileSource_)
: RasterTileSource(tileData_), resource(resource_), fileSource(fileSource_) {
request = fileSource.request(resource, [this](Response res) {
if (res.error) {
tileData.setData(std::make_exception_ptr(std::runtime_error(res.error->message)),
nullptr, res.modified, res.expires);
} else if (res.notModified) {
return;
} else if (res.noContent) {
tileData.setData(nullptr, nullptr, res.modified, res.expires);
} else {
tileData.setData(nullptr, res.data, res.modified, res.expires);
}
});
: FileBasedTileSource<RasterTileSource, ImageTileSource>(tileData_, resource_, fileSource_) {
}
} // namespace mbgl