@@ -7,8 +7,9 @@ use binaryninjacore_sys::{
77 BNProjectFileGetCreationTimestamp , BNProjectFileGetDependencies , BNProjectFileGetDescription ,
88 BNProjectFileGetFolder , BNProjectFileGetId , BNProjectFileGetName ,
99 BNProjectFileGetPathInProject , BNProjectFileGetPathOnDisk , BNProjectFileGetProject ,
10- BNProjectFileGetRequiredBy , BNProjectFileRemoveDependency , BNProjectFileSetDescription ,
11- BNProjectFileSetFolder , BNProjectFileSetName ,
10+ BNProjectFileGetRequiredBy , BNProjectFileIsReady , BNProjectFileRemoveDependency ,
11+ BNProjectFileSetDescription , BNProjectFileSetFolder , BNProjectFileSetName ,
12+ BNProjectFileSetReady ,
1213} ;
1314use std:: fmt:: Debug ;
1415use std:: hash:: Hash ;
@@ -94,6 +95,16 @@ impl ProjectFile {
9495 . unwrap ( )
9596 }
9697
98+ /// Check if this file is ready (first save has completed)
99+ pub fn is_ready ( & self ) -> bool {
100+ unsafe { BNProjectFileIsReady ( self . handle . as_ptr ( ) ) }
101+ }
102+
103+ /// Set whether this file is ready (first save has completed)
104+ pub fn set_ready ( & self , value : bool ) -> bool {
105+ unsafe { BNProjectFileSetReady ( self . handle . as_ptr ( ) , value) }
106+ }
107+
97108 /// Get the folder that contains this file
98109 pub fn folder ( & self ) -> Option < Ref < ProjectFolder > > {
99110 let result = unsafe { BNProjectFileGetFolder ( self . handle . as_ptr ( ) ) } ;
@@ -146,6 +157,7 @@ impl Debug for ProjectFile {
146157 . field ( "name" , & self . name ( ) )
147158 . field ( "description" , & self . description ( ) )
148159 . field ( "creation_time" , & self . creation_time ( ) )
160+ . field ( "ready" , & self . is_ready ( ) )
149161 . field ( "exists_on_disk" , & self . exists_on_disk ( ) )
150162 . field ( "project" , & self . project ( ) )
151163 . field ( "folder" , & self . folder ( ) )
0 commit comments