summaryrefslogtreecommitdiff
path: root/rust/src
diff options
context:
space:
mode:
Diffstat (limited to 'rust/src')
-rw-r--r--rust/src/filemetadata.rs15
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 _);
}
}