diff options
Diffstat (limited to 'rust/src/file_metadata.rs')
| -rw-r--r-- | rust/src/file_metadata.rs | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/rust/src/file_metadata.rs b/rust/src/file_metadata.rs index 20f0aff5..27ceb4af 100644 --- a/rust/src/file_metadata.rs +++ b/rust/src/file_metadata.rs @@ -16,15 +16,7 @@ use crate::binary_view::BinaryView; use crate::database::Database; use crate::rc::*; use crate::string::*; -use binaryninjacore_sys::{ - BNBeginUndoActions, BNCloseFile, BNCommitUndoActions, BNCreateDatabase, BNCreateFileMetadata, - BNFileMetadata, BNFileMetadataGetSessionId, BNForgetUndoActions, BNFreeFileMetadata, - BNGetCurrentOffset, BNGetCurrentView, BNGetExistingViews, BNGetFileMetadataDatabase, - BNGetFileViewOfType, BNGetFilename, BNGetProjectFile, BNIsAnalysisChanged, - BNIsBackedByDatabase, BNIsFileModified, BNMarkFileModified, BNMarkFileSaved, BNNavigate, - BNNewFileReference, BNOpenDatabaseForConfiguration, BNOpenExistingDatabase, BNRedo, - BNRevertUndoActions, BNSaveAutoSnapshot, BNSetFilename, BNUndo, -}; +use binaryninjacore_sys::*; use binaryninjacore_sys::{BNCreateDatabaseWithProgress, BNOpenExistingDatabaseWithProgress}; use std::ffi::c_void; use std::fmt::{Debug, Display, Formatter}; @@ -34,6 +26,8 @@ use crate::progress::ProgressCallback; use crate::project::file::ProjectFile; use std::ptr::{self, NonNull}; +new_id_type!(SessionId, usize); + #[derive(PartialEq, Eq, Hash)] pub struct FileMetadata { pub(crate) handle: *mut BNFileMetadata, @@ -64,8 +58,9 @@ impl FileMetadata { } } - pub fn session_id(&self) -> usize { - unsafe { BNFileMetadataGetSessionId(self.handle) } + pub fn session_id(&self) -> SessionId { + let raw = unsafe { BNFileMetadataGetSessionId(self.handle) }; + SessionId(raw) } pub fn filename(&self) -> String { |
