summaryrefslogtreecommitdiff
path: root/rust/src/project/file.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust/src/project/file.rs')
-rw-r--r--rust/src/project/file.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/rust/src/project/file.rs b/rust/src/project/file.rs
index 2d75cb24..ae23365a 100644
--- a/rust/src/project/file.rs
+++ b/rust/src/project/file.rs
@@ -5,8 +5,8 @@ use binaryninjacore_sys::{
BNFreeProjectFile, BNFreeProjectFileList, BNNewProjectFileReference, BNProjectFile,
BNProjectFileExistsOnDisk, BNProjectFileExport, BNProjectFileGetCreationTimestamp,
BNProjectFileGetDescription, BNProjectFileGetFolder, BNProjectFileGetId, BNProjectFileGetName,
- BNProjectFileGetPathOnDisk, BNProjectFileGetProject, BNProjectFileSetDescription,
- BNProjectFileSetFolder, BNProjectFileSetName,
+ BNProjectFileGetPathInProject, BNProjectFileGetPathOnDisk, BNProjectFileGetProject,
+ BNProjectFileSetDescription, BNProjectFileSetFolder, BNProjectFileSetName,
};
use std::fmt::Debug;
use std::path::{Path, PathBuf};
@@ -46,6 +46,13 @@ impl ProjectFile {
Some(PathBuf::from(path_str))
}
+ /// Get the path in the project to this file's contents
+ pub fn path_in_project(&self) -> Option<PathBuf> {
+ let path_str =
+ unsafe { BnString::into_string(BNProjectFileGetPathInProject(self.handle.as_ptr())) };
+ Some(PathBuf::from(path_str))
+ }
+
/// Check if this file's contents exist on disk
pub fn exists_on_disk(&self) -> bool {
unsafe { BNProjectFileExistsOnDisk(self.handle.as_ptr()) }