summaryrefslogtreecommitdiff
path: root/binaryview.cpp
diff options
context:
space:
mode:
authorJosh Ferrell <josh@vector35.com>2024-08-21 10:30:46 -0400
committerJosh Ferrell <josh@vector35.com>2024-08-21 10:30:46 -0400
commit7a0ab6ffa99533bc241c88b8761fb82d795dc832 (patch)
tree32d3cc8339f681f9a1755fb36a2c69580af42042 /binaryview.cpp
parent3d088d6dae28ab851b584a11678c9993eb18da10 (diff)
Add progress context to load APIs
Diffstat (limited to 'binaryview.cpp')
-rw-r--r--binaryview.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/binaryview.cpp b/binaryview.cpp
index 2f24904d..9c1373c1 100644
--- a/binaryview.cpp
+++ b/binaryview.cpp
@@ -5427,7 +5427,9 @@ Ref<BinaryView> BinaryNinja::Load(Ref<BinaryView> view, bool updateAnalysis,
Ref<BinaryView> BinaryNinja::Load(const std::string& filename, bool updateAnalysis, const std::string& options, std::function<bool(size_t, size_t)> progress)
{
- BNBinaryView* handle = BNLoadFilename(filename.c_str(), updateAnalysis, options.c_str(), (bool (*)(size_t, size_t))progress.target<bool (*)(size_t, size_t)>());
+ ProgressContext cb;
+ cb.callback = progress;
+ BNBinaryView* handle = BNLoadFilename(filename.c_str(), updateAnalysis, options.c_str(), ProgressCallback, &cb);
if (!handle)
return nullptr;
return new BinaryView(handle);
@@ -5444,7 +5446,9 @@ Ref<BinaryView> BinaryNinja::Load(const DataBuffer& rawData, bool updateAnalysis
Ref<BinaryView> BinaryNinja::Load(Ref<BinaryView> view, bool updateAnalysis, const std::string& options, std::function<bool(size_t, size_t)> progress)
{
- BNBinaryView* handle = BNLoadBinaryView(view->GetObject(), updateAnalysis, options.c_str(), (bool (*)(size_t, size_t))progress.target<bool (*)(size_t, size_t)>());
+ ProgressContext cb;
+ cb.callback = progress;
+ BNBinaryView* handle = BNLoadBinaryView(view->GetObject(), updateAnalysis, options.c_str(), ProgressCallback, &cb);
if (!handle)
return nullptr;
return new BinaryView(handle);