From cb2b7ad0f73751277d88a28e93c1ec99531836b2 Mon Sep 17 00:00:00 2001 From: Xusheng Date: Tue, 3 Nov 2020 16:36:38 +0800 Subject: add callback for BinaryView finalization and initial analysis completion --- binaryviewtype.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'binaryviewtype.cpp') 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& callback) +{ + BinaryViewEvent* event = new BinaryViewEvent; + event->action = callback; + BNRegisterBinaryViewEvent(BinaryViewFinalizationEvent, BinaryViewEventCallback, event); +} + + +void BinaryViewType::RegisterBinaryViewInitialAnalysisCompletionEvent(const function& callback) +{ + BinaryViewEvent* event = new BinaryViewEvent; + event->action = callback; + BNRegisterBinaryViewEvent(BinaryViewInitialAnalysisCompletionEvent, BinaryViewEventCallback, event); +} + + +void BinaryViewType::BinaryViewEventCallback(void* ctxt, BNBinaryView* view) +{ + BinaryViewEvent* event = (BinaryViewEvent*)ctxt; + Ref viewObject = new BinaryView(BNNewViewReference(view)); + event->action(viewObject); +} + + CoreBinaryViewType::CoreBinaryViewType(BNBinaryViewType* type): BinaryViewType(type) { } -- cgit v1.3.1