diff options
Diffstat (limited to 'function.cpp')
| -rw-r--r-- | function.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/function.cpp b/function.cpp index 07f685a5..cc9a8e13 100644 --- a/function.cpp +++ b/function.cpp @@ -3369,6 +3369,42 @@ void Function::ExpandAll() BNFunctionExpandAll(m_object); } + +void Function::StoreMetadata(const std::string& key, Ref<Metadata> value, bool isAuto) +{ + if (!value) + return; + BNFunctionStoreMetadata(m_object, key.c_str(), value->GetObject(), isAuto); +} + + +Ref<Metadata> Function::QueryMetadata(const std::string& key) +{ + BNMetadata* value = BNFunctionQueryMetadata(m_object, key.c_str()); + if (!value) + return nullptr; + return new Metadata(value); +} + + +Ref<Metadata> Function::GetMetadata() +{ + return new Metadata(BNFunctionGetMetadata(m_object)); +} + + +Ref<Metadata> Function::GetAutoMetadata() +{ + return new Metadata(BNFunctionGetAutoMetadata(m_object)); +} + + +void Function::RemoveMetadata(const std::string& key) +{ + BNFunctionRemoveMetadata(m_object, key.c_str()); +} + + AdvancedFunctionAnalysisDataRequestor::AdvancedFunctionAnalysisDataRequestor(Function* func) : m_func(func) { if (m_func) |
