summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2016-06-29 16:41:36 -0400
committerRusty Wagner <rusty@vector35.com>2016-06-29 16:41:36 -0400
commit3d7bb5ada00ac4650a916cdb59d3418e5db7f3eb (patch)
tree4ead8d7eea472778a6626bc09a14177e0a5c59c8 /binaryninjaapi.h
parent640a47abbd81c2d560e80b31f943740448838f28 (diff)
Add analysis completion event and wait API
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h16
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