From 7726825ec41005363115a69a5c4768d489c5cfec Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Thu, 19 Mar 2015 22:57:29 -0400 Subject: Update function list when analysis finds new functions --- binaryview.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'binaryview.cpp') 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 view = new BinaryView(BNNewViewReference(object)); + Ref funcObj = new Function(BNNewFunctionReference(func)); + notify->OnAnalysisFunctionAdded(view, funcObj); +} + + +void BinaryDataNotification::FunctionRemovedCallback(void* ctxt, BNBinaryView* object, BNFunction* func) +{ + BinaryDataNotification* notify = (BinaryDataNotification*)ctxt; + Ref view = new BinaryView(BNNewViewReference(object)); + Ref 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; } -- cgit v1.3.1