summaryrefslogtreecommitdiff
path: root/database.cpp
diff options
context:
space:
mode:
authorGlenn Smith <glenn@vector35.com>2021-12-27 15:18:11 -0500
committerGlenn Smith <glenn@vector35.com>2022-01-17 20:42:14 -0500
commitdc2a99e1159c3951b91935490ec8d2da5fc8e1e7 (patch)
tree4607977204491728a76e173640a306e14808b1b3 /database.cpp
parentfec5a962870a4a2a446b25c6256a5ba54c1f8f83 (diff)
Make various database progress functions cancellable
Diffstat (limited to 'database.cpp')
-rw-r--r--database.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/database.cpp b/database.cpp
index ee7dd289..90adb8c7 100644
--- a/database.cpp
+++ b/database.cpp
@@ -27,14 +27,14 @@ using namespace std;
struct ProgressContext
{
- std::function<void(size_t, size_t)> callback;
+ std::function<bool(size_t, size_t)> callback;
};
-void ProgressCallback(void* ctxt, size_t current, size_t total)
+bool ProgressCallback(void* ctxt, size_t current, size_t total)
{
ProgressContext* pctxt = reinterpret_cast<ProgressContext*>(ctxt);
- pctxt->callback(current, total);
+ return pctxt->callback(current, total);
}
@@ -274,11 +274,11 @@ DataBuffer Snapshot::GetFileContentsHash()
vector<UndoEntry> Snapshot::GetUndoEntries()
{
- return GetUndoEntries([](size_t, size_t){});
+ return GetUndoEntries([](size_t, size_t){ return true; });
}
-vector<UndoEntry> Snapshot::GetUndoEntries(const std::function<void(size_t, size_t)>& progress)
+vector<UndoEntry> Snapshot::GetUndoEntries(const std::function<bool(size_t, size_t)>& progress)
{
ProgressContext pctxt;
pctxt.callback = progress;
@@ -313,11 +313,11 @@ vector<UndoEntry> Snapshot::GetUndoEntries(const std::function<void(size_t, size
Ref<KeyValueStore> Snapshot::ReadData()
{
- return ReadData([](size_t, size_t){});
+ return ReadData([](size_t, size_t){ return true; });
}
-Ref<KeyValueStore> Snapshot::ReadData(const std::function<void(size_t, size_t)>& progress)
+Ref<KeyValueStore> Snapshot::ReadData(const std::function<bool(size_t, size_t)>& progress)
{
ProgressContext pctxt;
pctxt.callback = progress;
@@ -377,7 +377,7 @@ Ref<Snapshot> Database::GetCurrentSnapshot()
}
-int64_t Database::WriteSnapshotData(std::vector<int64_t> parents, Ref<BinaryView> file, const std::string& name, const Ref<KeyValueStore>& data, bool autoSave, const std::function<void(size_t, size_t)>& progress)
+int64_t Database::WriteSnapshotData(std::vector<int64_t> parents, Ref<BinaryView> file, const std::string& name, const Ref<KeyValueStore>& data, bool autoSave, const std::function<bool(size_t, size_t)>& progress)
{
ProgressContext pctxt;
pctxt.callback = progress;