summaryrefslogtreecommitdiff
path: root/rust/src/metadata.rs
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2024-05-27 15:29:48 -0400
committerBrian Potchik <brian@vector35.com>2024-05-27 15:29:48 -0400
commita348dab8b14b8ddd36c400ae39a7a48b6a28e829 (patch)
treec5aa3b6274b57660d263de44ac1eccc9bfa8739d /rust/src/metadata.rs
parent309d606f1c51168c0ef30ccf7850d483429fa35b (diff)
Update load APIs to take a JSON string for options.
Diffstat (limited to 'rust/src/metadata.rs')
-rw-r--r--rust/src/metadata.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/rust/src/metadata.rs b/rust/src/metadata.rs
index c8c532f3..f635700f 100644
--- a/rust/src/metadata.rs
+++ b/rust/src/metadata.rs
@@ -166,6 +166,19 @@ impl Metadata {
}
}
+ pub fn get_json_string(&self) -> Result<BnString, ()> {
+ match self.get_type() {
+ MetadataType::StringDataType => {
+ let ptr: *mut c_char = unsafe { BNMetadataGetJsonString(self.handle) };
+ if ptr.is_null() {
+ return Err(());
+ }
+ Ok(unsafe { BnString::from_raw(ptr) })
+ }
+ _ => Err(()),
+ }
+ }
+
pub fn get_raw(&self) -> Result<Vec<u8>, ()> {
match self.get_type() {
MetadataType::RawDataType => {