From 207925956bb8ca0174d40523fda70bfb5bc7bd38 Mon Sep 17 00:00:00 2001 From: Glenn Smith Date: Mon, 26 Sep 2022 23:12:20 -0400 Subject: Interaction::RunProgressDialog --- filemetadata.cpp | 61 ++++++++++++++++++++++---------------------------------- 1 file changed, 24 insertions(+), 37 deletions(-) (limited to 'filemetadata.cpp') diff --git a/filemetadata.cpp b/filemetadata.cpp index 9b1dfee3..84c25e62 100644 --- a/filemetadata.cpp +++ b/filemetadata.cpp @@ -25,19 +25,6 @@ using namespace Json; using namespace std; -struct DatabaseProgressCallbackContext -{ - std::function func; -}; - - -static bool DatabaseProgressCallback(void* ctxt, size_t progress, size_t total) -{ - DatabaseProgressCallbackContext* cb = (DatabaseProgressCallbackContext*)ctxt; - return cb->func(progress, total); -} - - char* NavigationHandler::GetCurrentViewCallback(void* ctxt) { NavigationHandler* handler = (NavigationHandler*)ctxt; @@ -172,10 +159,10 @@ bool FileMetadata::CreateDatabase(const string& name, BinaryView* data, Ref& progressCallback, Ref settings) { - DatabaseProgressCallbackContext cb; - cb.func = progressCallback; + ProgressContext cb; + cb.callback = progressCallback; return BNCreateDatabaseWithProgress( - data->GetObject(), name.c_str(), &cb, DatabaseProgressCallback, settings ? settings->GetObject() : nullptr); + data->GetObject(), name.c_str(), &cb, ProgressCallback, settings ? settings->GetObject() : nullptr); } @@ -191,9 +178,9 @@ Ref FileMetadata::OpenExistingDatabase(const string& path) Ref FileMetadata::OpenExistingDatabase( const string& path, const function& progressCallback) { - DatabaseProgressCallbackContext cb; - cb.func = progressCallback; - BNBinaryView* data = BNOpenExistingDatabaseWithProgress(m_object, path.c_str(), &cb, DatabaseProgressCallback); + ProgressContext cb; + cb.callback = progressCallback; + BNBinaryView* data = BNOpenExistingDatabaseWithProgress(m_object, path.c_str(), &cb, ProgressCallback); if (!data) return nullptr; return new BinaryView(data); @@ -218,29 +205,29 @@ bool FileMetadata::SaveAutoSnapshot(BinaryView* data, Ref settings bool FileMetadata::SaveAutoSnapshot( BinaryView* data, const function& progressCallback, Ref settings) { - DatabaseProgressCallbackContext cb; - cb.func = progressCallback; + ProgressContext cb; + cb.callback = progressCallback; return BNSaveAutoSnapshotWithProgress( - data->GetObject(), &cb, DatabaseProgressCallback, settings ? settings->GetObject() : nullptr); + data->GetObject(), &cb, ProgressCallback, settings ? settings->GetObject() : nullptr); } void FileMetadata::GetSnapshotData( Ref data, Ref cache, const std::function& progress) { - DatabaseProgressCallbackContext cb; - cb.func = progress; - BNGetSnapshotData(GetObject(), data->GetObject(), cache->GetObject(), &cb, DatabaseProgressCallback); + ProgressContext cb; + cb.callback = progress; + BNGetSnapshotData(GetObject(), data->GetObject(), cache->GetObject(), &cb, ProgressCallback); } void FileMetadata::ApplySnapshotData(BinaryView* file, Ref data, Ref cache, const std::function& progress, bool openForConfiguration, bool restoreRawView) { - DatabaseProgressCallbackContext cb; - cb.func = progress; + ProgressContext cb; + cb.callback = progress; BNApplySnapshotData(GetObject(), file->GetObject(), data->GetObject(), cache->GetObject(), &cb, - DatabaseProgressCallback, openForConfiguration, restoreRawView); + ProgressCallback, openForConfiguration, restoreRawView); } @@ -262,9 +249,9 @@ bool FileMetadata::Rebase(BinaryView* data, uint64_t address) bool FileMetadata::Rebase( BinaryView* data, uint64_t address, const function& progressCallback) { - DatabaseProgressCallbackContext cb; - cb.func = progressCallback; - return BNRebaseWithProgress(data->GetObject(), address, &cb, DatabaseProgressCallback); + ProgressContext cb; + cb.callback = progressCallback; + return BNRebaseWithProgress(data->GetObject(), address, &cb, ProgressCallback); } @@ -277,9 +264,9 @@ bool FileMetadata::CreateSnapshotedView(BinaryView *data, const std::string &vie bool FileMetadata::CreateSnapshotedView(BinaryView* data, const std::string& viewName, const function& progressCallback) { - DatabaseProgressCallbackContext cb; - cb.func = progressCallback; - return BNCreateSnapshotedViewWithProgress(data->GetObject(), viewName.c_str(), &cb, DatabaseProgressCallback); + ProgressContext cb; + cb.callback = progressCallback; + return BNCreateSnapshotedViewWithProgress(data->GetObject(), viewName.c_str(), &cb, ProgressCallback); } @@ -291,11 +278,11 @@ MergeResult FileMetadata::MergeUserAnalysis( for (size_t i = 0; i < numHashes; i++) tempList[i] = BNAllocString(excludedHashes[i].c_str()); - DatabaseProgressCallbackContext cb; - cb.func = progress; + ProgressContext cb; + cb.callback = progress; BNMergeResult bnResult = - BNMergeUserAnalysis(m_object, name.c_str(), &cb, DatabaseProgressCallback, tempList, numHashes); + BNMergeUserAnalysis(m_object, name.c_str(), &cb, ProgressCallback, tempList, numHashes); MergeResult result(bnResult); for (size_t i = 0; i < numHashes; i++) -- cgit v1.3.1