summaryrefslogtreecommitdiff
path: root/platform/default/mbgl/storage/offline_database.hpp
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-02-05 17:10:13 -0800
committerJohn Firebaugh <john.firebaugh@gmail.com>2016-02-10 15:40:20 -0800
commitc3c4c7b9a695ad1dbebe57242ba071103fe9a567 (patch)
treee205ecdc6a2f6318c6ba6308b5aa8baacc42f481 /platform/default/mbgl/storage/offline_database.hpp
parente9302c797f68c7e48b908b87b126045c8c5e5209 (diff)
downloadqtlocation-mapboxgl-c3c4c7b9a695ad1dbebe57242ba071103fe9a567.tar.gz
[core] Interface and implementation for offline
Diffstat (limited to 'platform/default/mbgl/storage/offline_database.hpp')
-rw-r--r--platform/default/mbgl/storage/offline_database.hpp23
1 files changed, 20 insertions, 3 deletions
diff --git a/platform/default/mbgl/storage/offline_database.hpp b/platform/default/mbgl/storage/offline_database.hpp
index bc6f784d50..554bb16068 100644
--- a/platform/default/mbgl/storage/offline_database.hpp
+++ b/platform/default/mbgl/storage/offline_database.hpp
@@ -2,6 +2,7 @@
#define MBGL_OFFLINE_DATABASE
#include <mbgl/storage/resource.hpp>
+#include <mbgl/storage/offline.hpp>
#include <mbgl/util/noncopyable.hpp>
#include <mbgl/util/optional.hpp>
@@ -27,7 +28,21 @@ public:
~OfflineDatabase();
optional<Response> get(const Resource&);
- void put(const Resource&, const Response&);
+ uint64_t put(const Resource&, const Response&);
+
+ std::vector<OfflineRegion> listRegions();
+
+ OfflineRegion createRegion(const OfflineRegionDefinition&,
+ const OfflineRegionMetadata&);
+
+ void deleteRegion(OfflineRegion&&);
+ void removeUnusedResources();
+
+ optional<Response> getRegionResource(int64_t regionID, const Resource&);
+ uint64_t putRegionResource(int64_t regionID, const Resource&, const Response&);
+
+ OfflineRegionDefinition getRegionDefinition(int64_t regionID);
+ OfflineRegionStatus getRegionCompletedStatus(int64_t regionID);
private:
void ensureSchema();
@@ -35,10 +50,12 @@ private:
mapbox::sqlite::Statement& getStatement(const char *);
optional<Response> getTile(const Resource::TileData&);
- void putTile(const Resource::TileData&, const Response&);
+ uint64_t putTile(const Resource::TileData&, const Response&);
optional<Response> getResource(const Resource&);
- void putResource(const Resource&, const Response&);
+ uint64_t putResource(const Resource&, const Response&);
+
+ void markUsed(int64_t regionID, const Resource&);
const std::string path;
std::unique_ptr<::mapbox::sqlite::Database> db;