diff options
| author | Glenn Smith <glenn@vector35.com> | 2021-12-27 15:18:11 -0500 |
|---|---|---|
| committer | Glenn Smith <glenn@vector35.com> | 2022-01-17 20:42:14 -0500 |
| commit | dc2a99e1159c3951b91935490ec8d2da5fc8e1e7 (patch) | |
| tree | 4607977204491728a76e173640a306e14808b1b3 /database.cpp | |
| parent | fec5a962870a4a2a446b25c6256a5ba54c1f8f83 (diff) | |
Make various database progress functions cancellable
Diffstat (limited to 'database.cpp')
| -rw-r--r-- | database.cpp | 16 |
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; |
