From 515381255191f35845e8c57059842741fcc652cd Mon Sep 17 00:00:00 2001 From: Peter LaFosse Date: Fri, 28 Sep 2018 22:54:05 -0400 Subject: Namespace API cleanup --- binaryninjaapi.h | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) (limited to 'binaryninjaapi.h') diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 91a5061a..5ebfd92e 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -919,6 +919,7 @@ namespace BinaryNinja NameList(const std::string& name, const std::string& join); NameList(const std::vector& name, const std::string& join); NameList(const NameList& name, const std::string& join); + virtual ~NameList(); virtual NameList& operator=(const std::string& name); virtual NameList& operator=(const std::vector& name); @@ -965,6 +966,7 @@ namespace BinaryNinja QualifiedName(const std::string& name); QualifiedName(const std::vector& name); QualifiedName(const QualifiedName& name); + virtual ~QualifiedName(); virtual QualifiedName& operator=(const std::string& name); virtual QualifiedName& operator=(const std::vector& name); @@ -983,6 +985,7 @@ namespace BinaryNinja NameSpace(const std::string& name); NameSpace(const std::vector& name); NameSpace(const NameSpace& name); + virtual ~NameSpace(); virtual NameSpace& operator=(const std::string& name); virtual NameSpace& operator=(const std::vector& name); @@ -1354,20 +1357,20 @@ namespace BinaryNinja std::vector GetCodeReferences(uint64_t addr); std::vector GetCodeReferences(uint64_t addr, uint64_t len); - Ref GetSymbolByAddress(uint64_t addr); - Ref GetSymbolByRawName(const std::string& name); - std::vector> GetSymbolsByName(const std::string& name); - std::vector> GetSymbols(); - std::vector> GetSymbols(uint64_t start, uint64_t len); - std::vector> GetSymbolsOfType(BNSymbolType type); - std::vector> GetSymbolsOfType(BNSymbolType type, uint64_t start, uint64_t len); + Ref GetSymbolByAddress(uint64_t addr, const NameSpace& nameSpace=NameSpace()); + Ref GetSymbolByRawName(const std::string& name, const NameSpace& nameSpace=NameSpace()); + std::vector> GetSymbolsByName(const std::string& name, const NameSpace& nameSpace=NameSpace()); + std::vector> GetSymbols(const NameSpace& nameSpace=NameSpace()); + std::vector> GetSymbols(uint64_t start, uint64_t len, const NameSpace& nameSpace=NameSpace()); + std::vector> GetSymbolsOfType(BNSymbolType type, const NameSpace& nameSpace=NameSpace()); + std::vector> GetSymbolsOfType(BNSymbolType type, uint64_t start, uint64_t len, const NameSpace& nameSpace=NameSpace()); void DefineAutoSymbol(Ref sym, const NameSpace& nameSpace=NameSpace()); - void DefineAutoSymbolAndVariableOrFunction(Ref platform, Ref sym, Ref type); - void UndefineAutoSymbol(Ref sym); + void DefineAutoSymbolAndVariableOrFunction(Ref platform, Ref sym, Ref type, const NameSpace& nameSpace=NameSpace()); + void UndefineAutoSymbol(Ref sym, const NameSpace& nameSpace=NameSpace()); - void DefineUserSymbol(Ref sym); - void UndefineUserSymbol(Ref sym); + void DefineUserSymbol(Ref sym, const NameSpace& nameSpace=NameSpace()); + void UndefineUserSymbol(Ref sym, const NameSpace& nameSpace=NameSpace()); void DefineImportedFunction(Ref importAddressSym, Ref func); @@ -1474,6 +1477,10 @@ namespace BinaryNinja void SetMaxFunctionSizeForAnalysis(uint64_t size); bool GetNewAutoFunctionAnalysisSuppressed(); void SetNewAutoFunctionAnalysisSuppressed(bool suppress); + + std::set GetNameSpaces() const; + NameSpace GetInternalNameSpace() const; + NameSpace GetExternalNameSpace() const; }; -- cgit v1.3.1