summaryrefslogtreecommitdiff
path: root/rust/src/project
diff options
context:
space:
mode:
Diffstat (limited to 'rust/src/project')
-rw-r--r--rust/src/project/file.rs9
-rw-r--r--rust/src/project/folder.rs12
2 files changed, 10 insertions, 11 deletions
diff --git a/rust/src/project/file.rs b/rust/src/project/file.rs
index 4a1d6fec..3b3e48f7 100644
--- a/rust/src/project/file.rs
+++ b/rust/src/project/file.rs
@@ -9,6 +9,7 @@ use binaryninjacore_sys::{
BNProjectFileSetFolder, BNProjectFileSetName,
};
use std::fmt::Debug;
+use std::path::Path;
use std::ptr::{null_mut, NonNull};
use std::time::SystemTime;
@@ -56,7 +57,7 @@ impl ProjectFile {
}
/// Set the name of this file
- pub fn set_name<S: IntoCStr>(&self, value: S) -> bool {
+ pub fn set_name(&self, value: &str) -> bool {
let value_raw = value.to_cstr();
unsafe { BNProjectFileSetName(self.handle.as_ptr(), value_raw.as_ptr()) }
}
@@ -67,7 +68,7 @@ impl ProjectFile {
}
/// Set the description of this file
- pub fn set_description<S: IntoCStr>(&self, value: S) -> bool {
+ pub fn set_description(&self, value: &str) -> bool {
let value_raw = value.to_cstr();
unsafe { BNProjectFileSetDescription(self.handle.as_ptr(), value_raw.as_ptr()) }
}
@@ -92,8 +93,8 @@ impl ProjectFile {
/// Export this file to disk, `true' if the export succeeded
///
- /// * `dest` - Destination path for the exported contents
- pub fn export<S: IntoCStr>(&self, dest: S) -> bool {
+ /// * `dest` - Destination file path for the exported contents, passing a directory will append the file name.
+ pub fn export(&self, dest: &Path) -> bool {
let dest_raw = dest.to_cstr();
unsafe { BNProjectFileExport(self.handle.as_ptr(), dest_raw.as_ptr()) }
}
diff --git a/rust/src/project/folder.rs b/rust/src/project/folder.rs
index acb663fb..d5d95e76 100644
--- a/rust/src/project/folder.rs
+++ b/rust/src/project/folder.rs
@@ -10,6 +10,7 @@ use binaryninjacore_sys::{
};
use std::ffi::c_void;
use std::fmt::Debug;
+use std::path::Path;
use std::ptr::{null_mut, NonNull};
#[repr(transparent)]
@@ -46,7 +47,7 @@ impl ProjectFolder {
}
/// Set the name of this folder
- pub fn set_name<S: IntoCStr>(&self, value: S) -> bool {
+ pub fn set_name(&self, value: &str) -> bool {
let value_raw = value.to_cstr();
unsafe { BNProjectFolderSetName(self.handle.as_ptr(), value_raw.as_ptr()) }
}
@@ -57,7 +58,7 @@ impl ProjectFolder {
}
/// Set the description of this folder
- pub fn set_description<S: IntoCStr>(&self, value: S) -> bool {
+ pub fn set_description(&self, value: &str) -> bool {
let value_raw = value.to_cstr();
unsafe { BNProjectFolderSetDescription(self.handle.as_ptr(), value_raw.as_ptr()) }
}
@@ -74,22 +75,19 @@ impl ProjectFolder {
unsafe { BNProjectFolderSetParent(self.handle.as_ptr(), folder_handle) }
}
- // TODO: Take Path?
/// Recursively export this folder to disk, returns `true' if the export succeeded
///
/// * `dest` - Destination path for the exported contents
- pub fn export<S: IntoCStr>(&self, dest: S) -> bool {
+ pub fn export(&self, dest: &Path) -> bool {
self.export_with_progress(dest, NoProgressCallback)
}
- // TODO: Take Path?
/// Recursively export this folder to disk, returns `true' if the export succeeded
///
/// * `dest` - Destination path for the exported contents
/// * `progress` - [`ProgressCallback`] that will be called as contents are exporting
- pub fn export_with_progress<S, P>(&self, dest: S, mut progress: P) -> bool
+ pub fn export_with_progress<P>(&self, dest: &Path, mut progress: P) -> bool
where
- S: IntoCStr,
P: ProgressCallback,
{
let dest_raw = dest.to_cstr();