summaryrefslogtreecommitdiff
path: root/binaryviewtype.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'binaryviewtype.cpp')
-rw-r--r--binaryviewtype.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/binaryviewtype.cpp b/binaryviewtype.cpp
index 8b0f8007..6691b820 100644
--- a/binaryviewtype.cpp
+++ b/binaryviewtype.cpp
@@ -219,6 +219,31 @@ bool BinaryViewType::IsDeprecated()
return BNIsBinaryViewTypeDeprecated(m_object);
}
+
+void BinaryViewType::RegisterBinaryViewFinalizationEvent(const function<void(BinaryView* view)>& callback)
+{
+ BinaryViewEvent* event = new BinaryViewEvent;
+ event->action = callback;
+ BNRegisterBinaryViewEvent(BinaryViewFinalizationEvent, BinaryViewEventCallback, event);
+}
+
+
+void BinaryViewType::RegisterBinaryViewInitialAnalysisCompletionEvent(const function<void(BinaryView* view)>& callback)
+{
+ BinaryViewEvent* event = new BinaryViewEvent;
+ event->action = callback;
+ BNRegisterBinaryViewEvent(BinaryViewInitialAnalysisCompletionEvent, BinaryViewEventCallback, event);
+}
+
+
+void BinaryViewType::BinaryViewEventCallback(void* ctxt, BNBinaryView* view)
+{
+ BinaryViewEvent* event = (BinaryViewEvent*)ctxt;
+ Ref<BinaryView> viewObject = new BinaryView(BNNewViewReference(view));
+ event->action(viewObject);
+}
+
+
CoreBinaryViewType::CoreBinaryViewType(BNBinaryViewType* type): BinaryViewType(type)
{
}