diff options
| author | Glenn Smith <glenn@vector35.com> | 2023-05-23 20:11:07 -0400 |
|---|---|---|
| committer | Glenn Smith <glenn@vector35.com> | 2023-06-08 17:18:21 -0400 |
| commit | 0882343191078862361937493035030128230878 (patch) | |
| tree | f5ef5168066c53b85fd9574225df7411817bb577 /rust/src | |
| parent | 30784c736f7ed7cc796573d81021bd3ef10fded3 (diff) | |
Undo entry states and reverting
Diffstat (limited to 'rust/src')
| -rw-r--r-- | rust/src/filemetadata.rs | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/rust/src/filemetadata.rs b/rust/src/filemetadata.rs index e3449b6e..b0e1c73f 100644 --- a/rust/src/filemetadata.rs +++ b/rust/src/filemetadata.rs @@ -38,6 +38,7 @@ use binaryninjacore_sys::{ BNOpenExistingDatabase, BNOpenProject, BNRedo, + BNRevertUndoActions, BNSaveAutoSnapshot, BNSetFilename, BNUndo, @@ -124,15 +125,21 @@ impl FileMetadata { unsafe { BNIsBackedByDatabase(self.handle, view_type.as_ref().as_ptr() as *const _) } } - pub fn begin_undo_actions(&self) { + pub fn begin_undo_actions(&self) -> BnString { + unsafe { BnString::from_raw(BNBeginUndoActions(self.handle)) } + } + + pub fn commit_undo_actions<S: BnStrCompatible>(&self, id: S) { + let id = id.into_bytes_with_nul(); unsafe { - BNBeginUndoActions(self.handle); + BNCommitUndoActions(self.handle, id.as_ref().as_ptr() as *const _); } } - pub fn commit_undo_actions(&self) { + pub fn revert_undo_actions<S: BnStrCompatible>(&self, id: S) { + let id = id.into_bytes_with_nul(); unsafe { - BNCommitUndoActions(self.handle); + BNRevertUndoActions(self.handle, id.as_ref().as_ptr() as *const _); } } |
