summaryrefslogtreecommitdiff
path: root/rust/src/metadata.rs
diff options
context:
space:
mode:
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 => {