[core] restructure TileSource construction and callbacks

This commit is contained in:
Konstantin Käfer
2016-05-20 16:12:22 +02:00
parent 6b729ccb46
commit 2b6d0751cf
19 changed files with 260 additions and 262 deletions

View File

@@ -0,0 +1,25 @@
#include <mbgl/tile/image_tile_source.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);
}
});
}
} // namespace mbgl