From dc2a99e1159c3951b91935490ec8d2da5fc8e1e7 Mon Sep 17 00:00:00 2001 From: Glenn Smith Date: Mon, 27 Dec 2021 15:18:11 -0500 Subject: Make various database progress functions cancellable --- database.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'database.cpp') 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 callback; + std::function 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(ctxt); - pctxt->callback(current, total); + return pctxt->callback(current, total); } @@ -274,11 +274,11 @@ DataBuffer Snapshot::GetFileContentsHash() vector Snapshot::GetUndoEntries() { - return GetUndoEntries([](size_t, size_t){}); + return GetUndoEntries([](size_t, size_t){ return true; }); } -vector Snapshot::GetUndoEntries(const std::function& progress) +vector Snapshot::GetUndoEntries(const std::function& progress) { ProgressContext pctxt; pctxt.callback = progress; @@ -313,11 +313,11 @@ vector Snapshot::GetUndoEntries(const std::function Snapshot::ReadData() { - return ReadData([](size_t, size_t){}); + return ReadData([](size_t, size_t){ return true; }); } -Ref Snapshot::ReadData(const std::function& progress) +Ref Snapshot::ReadData(const std::function& progress) { ProgressContext pctxt; pctxt.callback = progress; @@ -377,7 +377,7 @@ Ref Database::GetCurrentSnapshot() } -int64_t Database::WriteSnapshotData(std::vector parents, Ref file, const std::string& name, const Ref& data, bool autoSave, const std::function& progress) +int64_t Database::WriteSnapshotData(std::vector parents, Ref file, const std::string& name, const Ref& data, bool autoSave, const std::function& progress) { ProgressContext pctxt; pctxt.callback = progress; -- cgit v1.3.1