summaryrefslogtreecommitdiff
path: root/rust/src/collaboration/project.rs
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-05-03 23:15:17 -0400
committerMason Reed <35282038+emesare@users.noreply.github.com>2025-05-12 17:45:24 -0400
commit6264254065bbae9d89f51cf3330379b7ace09592 (patch)
tree9ece1d1739215c2faef2d808ef4fdc019ad527fa /rust/src/collaboration/project.rs
parentc3fdda9727f5507818e3f55576ad32215a22b0f9 (diff)
[Rust] Return `String` instead of `BnString` for cases where lossy conversion can be tolerated
Still need to go and audit all usage, but realistically the most important places to give the user control are with symbols, where the data can come from non utf8 sources This is still incomplete, I just looked for usage of -> BnString so any other variant was omitted.
Diffstat (limited to 'rust/src/collaboration/project.rs')
-rw-r--r--rust/src/collaboration/project.rs20
1 files changed, 10 insertions, 10 deletions
diff --git a/rust/src/collaboration/project.rs b/rust/src/collaboration/project.rs
index 1455f6c3..b3c6513d 100644
--- a/rust/src/collaboration/project.rs
+++ b/rust/src/collaboration/project.rs
@@ -103,17 +103,17 @@ impl RemoteProject {
}
/// Get the URL of the project
- pub fn url(&self) -> BnString {
+ pub fn url(&self) -> String {
let result = unsafe { BNRemoteProjectGetUrl(self.handle.as_ptr()) };
assert!(!result.is_null());
- unsafe { BnString::from_raw(result) }
+ unsafe { BnString::into_string(result) }
}
/// Get the unique ID of the project
- pub fn id(&self) -> BnString {
+ pub fn id(&self) -> String {
let result = unsafe { BNRemoteProjectGetId(self.handle.as_ptr()) };
assert!(!result.is_null());
- unsafe { BnString::from_raw(result) }
+ unsafe { BnString::into_string(result) }
}
/// Created date of the project
@@ -129,10 +129,10 @@ impl RemoteProject {
}
/// Displayed name of file
- pub fn name(&self) -> BnString {
+ pub fn name(&self) -> String {
let result = unsafe { BNRemoteProjectGetName(self.handle.as_ptr()) };
assert!(!result.is_null());
- unsafe { BnString::from_raw(result) }
+ unsafe { BnString::into_string(result) }
}
/// Set the description of the file. You will need to push the file to update the remote version.
@@ -148,10 +148,10 @@ impl RemoteProject {
}
/// Desciprtion of the file
- pub fn description(&self) -> BnString {
+ pub fn description(&self) -> String {
let result = unsafe { BNRemoteProjectGetDescription(self.handle.as_ptr()) };
assert!(!result.is_null());
- unsafe { BnString::from_raw(result) }
+ unsafe { BnString::into_string(result) }
}
/// Set the description of the file. You will need to push the file to update the remote version.
@@ -879,9 +879,9 @@ impl RemoteProject {
/// Get the default directory path for a remote Project. This is based off
/// the Setting for collaboration.directory, the project's id, and the
/// project's remote's id.
- pub fn default_project_path(&self) -> BnString {
+ pub fn default_project_path(&self) -> String {
let result = unsafe { BNCollaborationDefaultProjectPath(self.handle.as_ptr()) };
- unsafe { BnString::from_raw(result) }
+ unsafe { BnString::into_string(result) }
}
/// Upload a file, with database, to the remote under the given project