summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
authorRusty Wagner <dontpanic@binaryninja.com>2015-03-21 20:46:38 -0400
committerRusty Wagner <dontpanic@binaryninja.com>2015-03-21 20:46:38 -0400
commita8eb816d382a138c8ea4b535dcf104590424095f (patch)
tree5d3ff3a260cb2ca931acc57ee6a25993b3e6a36d /binaryninjaapi.h
parentc85cae0d74c2c32b23f5e1422f230bebd61f1b1e (diff)
Auto update graph when file contents change
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h32
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();