summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2018-01-22 23:57:00 -0500
committerBrian Potchik <brian@vector35.com>2018-01-22 23:57:00 -0500
commit80a5b6d9bca0b0ef4d2a7d33b632d558d6d9b0f0 (patch)
tree2cf772cae9cc111c43db4ab3ca58e6b9a790af89
parent6580ae315ea60d630625f7f8592ebddfc95bf563 (diff)
Add Access to Background Analysis Task.
-rw-r--r--binaryninjaapi.h2
-rw-r--r--binaryninjacore.h1
-rw-r--r--binaryview.cpp10
3 files changed, 13 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index d357e5bc..d1b6f5f5 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -486,6 +486,7 @@ namespace BinaryNinja
};
class Architecture;
+ class BackgroundTask;
class Platform;
class Type;
class DataBuffer;
@@ -1266,6 +1267,7 @@ namespace BinaryNinja
Ref<AnalysisCompletionEvent> AddAnalysisCompletionEvent(const std::function<void()>& callback);
BNAnalysisProgress GetAnalysisProgress();
+ Ref<BackgroundTask> GetBackgroundAnalysisTask();
uint64_t GetNextFunctionStartAfterAddress(uint64_t addr);
uint64_t GetNextBasicBlockStartAfterAddress(uint64_t addr);
diff --git a/binaryninjacore.h b/binaryninjacore.h
index 245e6353..e9ef7c7a 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -2232,6 +2232,7 @@ extern "C"
BINARYNINJACOREAPI void BNCancelAnalysisCompletionEvent(BNAnalysisCompletionEvent* event);
BINARYNINJACOREAPI BNAnalysisProgress BNGetAnalysisProgress(BNBinaryView* view);
+ BINARYNINJACOREAPI BNBackgroundTask* BNGetBackgroundAnalysisTask(BNBinaryView* view);
BINARYNINJACOREAPI uint64_t BNGetNextFunctionStartAfterAddress(BNBinaryView* view, uint64_t addr);
BINARYNINJACOREAPI uint64_t BNGetNextBasicBlockStartAfterAddress(BNBinaryView* view, uint64_t addr);
diff --git a/binaryview.cpp b/binaryview.cpp
index 0ee428e1..96fd161d 100644
--- a/binaryview.cpp
+++ b/binaryview.cpp
@@ -1351,6 +1351,16 @@ BNAnalysisProgress BinaryView::GetAnalysisProgress()
}
+Ref<BackgroundTask> BinaryView::GetBackgroundAnalysisTask()
+{
+ BNBackgroundTask* task = BNGetBackgroundAnalysisTask(m_object);
+ if (!task)
+ return nullptr;
+
+ return new BackgroundTask(BNNewBackgroundTaskReference(task));
+}
+
+
uint64_t BinaryView::GetNextFunctionStartAfterAddress(uint64_t addr)
{
return BNGetNextFunctionStartAfterAddress(m_object, addr);