diff options
| author | Rusty Wagner <dontpanic@binaryninja.com> | 2015-03-21 20:46:38 -0400 |
|---|---|---|
| committer | Rusty Wagner <dontpanic@binaryninja.com> | 2015-03-21 20:46:38 -0400 |
| commit | a8eb816d382a138c8ea4b535dcf104590424095f (patch) | |
| tree | 5d3ff3a260cb2ca931acc57ee6a25993b3e6a36d /binaryninjaapi.h | |
| parent | c85cae0d74c2c32b23f5e1422f230bebd61f1b1e (diff) | |
Auto update graph when file contents change
Diffstat (limited to 'binaryninjaapi.h')
| -rw-r--r-- | binaryninjaapi.h | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 5a50f5e4..215532f6 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -287,6 +287,7 @@ namespace BinaryNinja static void DataRemovedCallback(void* ctxt, BNBinaryView* data, uint64_t offset, uint64_t len); static void FunctionAddedCallback(void* ctxt, BNBinaryView* data, BNFunction* func); static void FunctionRemovedCallback(void* ctxt, BNBinaryView* data, BNFunction* func); + static void FunctionUpdatedCallback(void* ctxt, BNBinaryView* data, BNFunction* func); public: BinaryDataNotification(); @@ -299,6 +300,7 @@ namespace BinaryNinja virtual void OnBinaryDataRemoved(BinaryView* view, uint64_t offset, uint64_t len) { (void)view; (void)offset; (void)len; } virtual void OnAnalysisFunctionAdded(BinaryView* view, Function* func) { (void)view; (void)func; } virtual void OnAnalysisFunctionRemoved(BinaryView* view, Function* func) { (void)view; (void)func; } + virtual void OnAnalysisFunctionUpdated(BinaryView* view, Function* func) { (void)view; (void)func; } }; class FileAccessor @@ -374,19 +376,6 @@ namespace BinaryNinja BinaryView(FileMetadata* file); - private: - static size_t ReadCallback(void* ctxt, void* dest, uint64_t offset, size_t len); - static size_t WriteCallback(void* ctxt, uint64_t offset, const void* src, size_t len); - static size_t InsertCallback(void* ctxt, uint64_t offset, const void* src, size_t len); - static size_t RemoveCallback(void* ctxt, uint64_t offset, uint64_t len); - static BNModificationStatus GetModificationCallback(void* ctxt, uint64_t offset); - static bool IsValidOffsetCallback(void* ctxt, uint64_t offset); - static uint64_t GetStartCallback(void* ctxt); - static uint64_t GetLengthCallback(void* ctxt); - static uint64_t GetEntryPointCallback(void* ctxt); - static bool IsExecutableCallback(void* ctxt); - static bool SaveCallback(void* ctxt, BNFileAccessor* file); - virtual size_t PerformRead(void* dest, uint64_t offset, size_t len) { (void)dest; (void)offset; (void)len; return 0; } virtual size_t PerformWrite(uint64_t offset, const void* data, size_t len) { (void)offset; (void)data; (void)len; return 0; } virtual size_t PerformInsert(uint64_t offset, const void* data, size_t len) { (void)offset; (void)data; (void)len; return 0; } @@ -401,6 +390,23 @@ namespace BinaryNinja virtual bool PerformSave(FileAccessor* file) { (void)file; return false; } + void NotifyDataWritten(uint64_t offset, size_t len); + void NotifyDataInserted(uint64_t offset, size_t len); + void NotifyDataRemoved(uint64_t offset, uint64_t len); + + private: + static size_t ReadCallback(void* ctxt, void* dest, uint64_t offset, size_t len); + static size_t WriteCallback(void* ctxt, uint64_t offset, const void* src, size_t len); + static size_t InsertCallback(void* ctxt, uint64_t offset, const void* src, size_t len); + static size_t RemoveCallback(void* ctxt, uint64_t offset, uint64_t len); + static BNModificationStatus GetModificationCallback(void* ctxt, uint64_t offset); + static bool IsValidOffsetCallback(void* ctxt, uint64_t offset); + static uint64_t GetStartCallback(void* ctxt); + static uint64_t GetLengthCallback(void* ctxt); + static uint64_t GetEntryPointCallback(void* ctxt); + static bool IsExecutableCallback(void* ctxt); + static bool SaveCallback(void* ctxt, BNFileAccessor* file); + public: BinaryView(BNBinaryView* view); virtual ~BinaryView(); |
