GeoDataDocument *TileLoader::loadTileVectorData( GeoSceneVectorTileDataset const *textureLayer, TileId const & tileId, DownloadUsage const usage ) { // FIXME: textureLayer->fileFormat() could be used in the future for use just that parser, instead of all available parsers QString const fileName = tileFileName( textureLayer, tileId ); TileStatus status = tileStatus( textureLayer, tileId ); if ( status != Missing ) { // check if an update should be triggered if ( status == Available ) { mDebug() << Q_FUNC_INFO << tileId << "StateUptodate"; } else { Q_ASSERT( status == Expired ); mDebug() << Q_FUNC_INFO << tileId << "StateExpired"; triggerDownload( textureLayer, tileId, usage ); } QFile file ( fileName ); if ( file.exists() ) { // File is ready, so parse and return the vector data in any case GeoDataDocument* document = openVectorFile(fileName); if (document) { return document; } } } // tile was not locally available => trigger download triggerDownload( textureLayer, tileId, usage ); return nullptr; }
// This method triggers a download of the given tile (without checking // expiration). It is called by upper layer (StackedTileLoader) when the tile // that should be reloaded is currently loaded in memory. // // post condition // - download is triggered void TileLoader::downloadTile( GeoSceneTiled const *textureLayer, TileId const &tileId, DownloadUsage const usage ) { triggerDownload( textureLayer, tileId, usage ); }
// This method triggers a download of the given tile (without checking // expiration). It is called by upper layer (StackedTileLoader) when the tile // that should be reloaded is currently loaded in memory. // // post condition // - download is triggered void TileLoader::downloadTile( GeoSceneTileDataset const *tileData, TileId const &tileId, DownloadUsage const usage ) { triggerDownload( tileData, tileId, usage ); }