summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2018-01-22 23:57:00 -0500
committerPeter LaFosse <peter@vector35.com>2018-03-23 17:10:06 -0400
commitc8b3911b7a58bd06191a1f65af2ea436f46982d5 (patch)
treeb6dc9cbe97d2d98204f07a741a6bbc226267bcff
parent82204e9fc38a480e0f53514d92b68df7783fee0a (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 e47b034c..dee1dfa5 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 bc58092d..ab9ebb3b 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -2365,6 +2365,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);