diff options
Diffstat (limited to 'rust/src/metadata.rs')
| -rw-r--r-- | rust/src/metadata.rs | 13 |
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 => { |
