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 /binaryninjaapi.h | |
| parent | 46a7e1cf763380f70c066fe456615ba4de2d13c0 (diff) | |
add callback for BinaryView finalization and initial analysis completion
Diffstat (limited to 'binaryninjaapi.h')
| -rw-r--r-- | binaryninjaapi.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index fb5e77fc..6f39b8d5 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -1803,6 +1803,11 @@ __attribute__ ((format (printf, 1, 2))) class BinaryViewType: public StaticCoreRefCountObject<BNBinaryViewType> { + struct BinaryViewEvent + { + std::function<void(BinaryView*)> action; + }; + protected: std::string m_nameForRegister, m_longNameForRegister; @@ -1841,6 +1846,11 @@ __attribute__ ((format (printf, 1, 2))) virtual BinaryView* Parse(BinaryView* data) = 0; virtual bool IsTypeValidForData(BinaryView* data) = 0; virtual Ref<Settings> GetLoadSettingsForData(BinaryView* data) = 0; + + static void RegisterBinaryViewFinalizationEvent(const std::function<void(BinaryView* view)>& callback); + static void RegisterBinaryViewInitialAnalysisCompletionEvent(const std::function<void(BinaryView* view)>& callback); + + static void BinaryViewEventCallback(void* ctxt, BNBinaryView* view); }; class CoreBinaryViewType: public BinaryViewType |
