From 2ba29fd5fc09a78dd5e16a8706bbb8aa6468eb1d Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Wed, 20 Aug 2025 13:42:19 -0400 Subject: [Rust] Add project path file retrieval related functions --- rust/src/project/file.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'rust/src/project') 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 { + 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()) } -- cgit v1.3.1