[core] Add OfflineDatabase::markUsedResources()

This commit is contained in:
Mikhail Pozdnyakov
2019-08-29 14:10:41 +03:00
parent 62e1e03c09
commit 0c80f3a383
2 changed files with 14 additions and 0 deletions

View File

@@ -92,6 +92,7 @@ public:
bool offlineMapboxTileCountLimitExceeded();
uint64_t getOfflineMapboxTileCount();
bool exceedsOfflineMapboxTileCountLimit(const Resource&);
void markUsedResources(int64_t regionID, const std::list<Resource>&);
private:
void initialize();

View File

@@ -1278,6 +1278,19 @@ bool OfflineDatabase::exceedsOfflineMapboxTileCountLimit(const Resource& resourc
&& offlineMapboxTileCountLimitExceeded();
}
void OfflineDatabase::markUsedResources(int64_t regionID, const std::list<Resource>& resources) try {
if (!db) {
initialize();
}
mapbox::sqlite::Transaction transaction(*db);
for (const auto& resource : resources) {
markUsed(regionID, resource);
}
transaction.commit();
} catch (const mapbox::sqlite::Exception& ex) {
handleError(ex, "mark resources as used");
}
std::exception_ptr OfflineDatabase::resetDatabase() try {
removeExisting();
initialize();