diff options
Diffstat (limited to 'binaryviewtype.cpp')
| -rw-r--r-- | binaryviewtype.cpp | 25 |
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) { } |
