From a348dab8b14b8ddd36c400ae39a7a48b6a28e829 Mon Sep 17 00:00:00 2001 From: Brian Potchik Date: Mon, 27 May 2024 15:29:48 -0400 Subject: Update load APIs to take a JSON string for options. --- metadata.cpp | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'metadata.cpp') diff --git a/metadata.cpp b/metadata.cpp index 409ea47b..49295755 100644 --- a/metadata.cpp +++ b/metadata.cpp @@ -13,7 +13,7 @@ Metadata::Metadata(bool data) m_object = BNCreateMetadataBooleanData(data); } -Metadata::Metadata(const string& data) +Metadata::Metadata(const std::string& data) { m_object = BNCreateMetadataStringData(data.c_str()); } @@ -163,12 +163,12 @@ Ref Metadata::Get(size_t index) return new Metadata(result); } -bool Metadata::SetValueForKey(const string& key, Ref data) +bool Metadata::SetValueForKey(const std::string& key, Ref data) { return BNMetadataSetValueForKey(m_object, key.c_str(), data->m_object); } -void Metadata::RemoveKey(const string& key) +void Metadata::RemoveKey(const std::string& key) { return BNMetadataRemoveKey(m_object, key.c_str()); } @@ -183,10 +183,10 @@ bool Metadata::GetBoolean() const return BNMetadataGetBoolean(m_object); } -string Metadata::GetString() const +std::string Metadata::GetString() const { char* str = BNMetadataGetString(m_object); - string result = string(str); + std::string result = std::string(str); BNFreeString(str); return result; } @@ -312,10 +312,10 @@ vector> Metadata::GetArray() const return result; } -map> Metadata::GetKeyValueStore() const +map> Metadata::GetKeyValueStore() const { BNMetadataValueStore* data = BNMetadataGetValueStore(m_object); - map> result; + map> result; for (size_t i = 0; i < data->size; i++) { result[data->keys[i]] = new Metadata(data->values[i]); @@ -323,6 +323,14 @@ map> Metadata::GetKeyValueStore() const return result; } +std::string Metadata::GetJsonString() const +{ + char* str = BNMetadataGetJsonString(m_object); + std::string result = std::string(str); + BNFreeString(str); + return result; +} + bool Metadata::Append(Ref data) { return BNMetadataArrayAppend(m_object, data->m_object); -- cgit v1.3.1