diff options
| author | Xusheng <xusheng@vector35.com> | 2020-11-03 16:36:38 +0800 |
|---|---|---|
| committer | Xusheng <xusheng@vector35.com> | 2020-11-13 22:24:28 +0800 |
| commit | cb2b7ad0f73751277d88a28e93c1ec99531836b2 (patch) | |
| tree | b85bc574e7b79ac3e9ef7e0e7c889002c233e3f5 /binaryviewtype.cpp | |
| parent | 46a7e1cf763380f70c066fe456615ba4de2d13c0 (diff) | |
add callback for BinaryView finalization and initial analysis completion
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) { } |
