diff options
| author | Rusty Wagner <rusty@vector35.com> | 2016-06-29 16:41:36 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2016-06-29 16:41:36 -0400 |
| commit | 3d7bb5ada00ac4650a916cdb59d3418e5db7f3eb (patch) | |
| tree | 4ead8d7eea472778a6626bc09a14177e0a5c59c8 /binaryninjaapi.h | |
| parent | 640a47abbd81c2d560e80b31f943740448838f28 (diff) | |
Add analysis completion event and wait API
Diffstat (limited to 'binaryninjaapi.h')
| -rw-r--r-- | binaryninjaapi.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 72240975..f7d260a1 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -571,6 +571,20 @@ namespace BinaryNinja uint64_t addr; }; + class AnalysisCompletionEvent: public CoreRefCountObject<BNAnalysisCompletionEvent, + BNNewAnalysisCompletionEventReference, BNFreeAnalysisCompletionEvent> + { + protected: + std::function<void()> m_callback; + std::recursive_mutex m_mutex; + + static void CompletionCallback(void* ctxt); + + public: + AnalysisCompletionEvent(BinaryView* view, const std::function<void()>& callback); + void Cancel(); + }; + class BinaryView: public CoreRefCountObject<BNBinaryView, BNNewViewReference, BNFreeBinaryView> { protected: @@ -740,6 +754,8 @@ namespace BinaryNinja std::vector<BNStringReference> GetStrings(); std::vector<BNStringReference> GetStrings(uint64_t start, uint64_t len); + + Ref<AnalysisCompletionEvent> AddAnalysisCompletionEvent(const std::function<void()>& callback); }; class BinaryData: public BinaryView |
