summaryrefslogtreecommitdiff
path: root/binaryview.cpp
diff options
context:
space:
mode:
authorRusty Wagner <dontpanic@binaryninja.com>2015-03-19 22:57:29 -0400
committerRusty Wagner <dontpanic@binaryninja.com>2015-03-19 22:57:29 -0400
commit7726825ec41005363115a69a5c4768d489c5cfec (patch)
treeb3e44b700b4af853f6b34b05a61158d1d5b16965 /binaryview.cpp
parent97cbee81fcda2a812cc655cc6b8cf1e2bead67b9 (diff)
Update function list when analysis finds new functions
Diffstat (limited to 'binaryview.cpp')
-rw-r--r--binaryview.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/binaryview.cpp b/binaryview.cpp
index e99038f4..2f6e42ef 100644
--- a/binaryview.cpp
+++ b/binaryview.cpp
@@ -28,12 +28,32 @@ void BinaryDataNotification::DataRemovedCallback(void* ctxt, BNBinaryView* objec
}
+void BinaryDataNotification::FunctionAddedCallback(void* ctxt, BNBinaryView* object, BNFunction* func)
+{
+ BinaryDataNotification* notify = (BinaryDataNotification*)ctxt;
+ Ref<BinaryView> view = new BinaryView(BNNewViewReference(object));
+ Ref<Function> funcObj = new Function(BNNewFunctionReference(func));
+ notify->OnAnalysisFunctionAdded(view, funcObj);
+}
+
+
+void BinaryDataNotification::FunctionRemovedCallback(void* ctxt, BNBinaryView* object, BNFunction* func)
+{
+ BinaryDataNotification* notify = (BinaryDataNotification*)ctxt;
+ Ref<BinaryView> view = new BinaryView(BNNewViewReference(object));
+ Ref<Function> funcObj = new Function(BNNewFunctionReference(func));
+ notify->OnAnalysisFunctionRemoved(view, funcObj);
+}
+
+
BinaryDataNotification::BinaryDataNotification()
{
m_callbacks.context = this;
m_callbacks.dataWritten = DataWrittenCallback;
m_callbacks.dataInserted = DataInsertedCallback;
m_callbacks.dataRemoved = DataRemovedCallback;
+ m_callbacks.functionAdded = FunctionAddedCallback;
+ m_callbacks.functionRemoved = FunctionRemovedCallback;
}