From 1df49afa5522d73d509d20db9588294fe259085f Mon Sep 17 00:00:00 2001 From: Brian Potchik Date: Thu, 11 Jan 2018 17:10:34 -0500 Subject: API Temporary Object Elimination. --- binaryninjaapi.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'binaryninjaapi.h') diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 72f74c5a..31bd2316 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -1017,6 +1017,9 @@ namespace BinaryNinja struct DataVariable { + DataVariable() { } + DataVariable(uint64_t a, Type* t, bool d) : address(a), type(t), autoDiscovered(d) { } + uint64_t address; Confidence> type; bool autoDiscovered; @@ -1832,6 +1835,7 @@ namespace BinaryNinja { Variable(); Variable(BNVariableSourceType type, uint32_t index, uint64_t storage); + Variable(BNVariableSourceType type, uint64_t storage); Variable(const BNVariable& var); Variable& operator=(const Variable& var); -- cgit v1.3.1 From c351ac9c5c25b8d422648d97f96bebc263999cb6 Mon Sep 17 00:00:00 2001 From: Brian Potchik Date: Sun, 14 Jan 2018 16:38:14 -0500 Subject: Add InstructionTextToken Constructor --- binaryninjaapi.h | 1 + 1 file changed, 1 insertion(+) (limited to 'binaryninjaapi.h') diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 31bd2316..d357e5bc 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -968,6 +968,7 @@ namespace BinaryNinja uint64_t address; InstructionTextToken(); + InstructionTextToken(uint8_t confidence, BNInstructionTextTokenType t, const std::string& txt); InstructionTextToken(BNInstructionTextTokenType type, const std::string& text, uint64_t value = 0, size_t size = 0, size_t operand = BN_INVALID_OPERAND, uint8_t confidence = BN_FULL_CONFIDENCE); InstructionTextToken(BNInstructionTextTokenType type, BNInstructionTextTokenContext context, -- cgit v1.3.1 From 80a5b6d9bca0b0ef4d2a7d33b632d558d6d9b0f0 Mon Sep 17 00:00:00 2001 From: Brian Potchik Date: Mon, 22 Jan 2018 23:57:00 -0500 Subject: Add Access to Background Analysis Task. --- binaryninjaapi.h | 2 ++ binaryninjacore.h | 1 + binaryview.cpp | 10 ++++++++++ 3 files changed, 13 insertions(+) (limited to 'binaryninjaapi.h') diff --git a/binaryninjaapi.h b/binaryninjaapi.h index d357e5bc..d1b6f5f5 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -486,6 +486,7 @@ namespace BinaryNinja }; class Architecture; + class BackgroundTask; class Platform; class Type; class DataBuffer; @@ -1266,6 +1267,7 @@ namespace BinaryNinja Ref AddAnalysisCompletionEvent(const std::function& callback); BNAnalysisProgress GetAnalysisProgress(); + Ref GetBackgroundAnalysisTask(); uint64_t GetNextFunctionStartAfterAddress(uint64_t addr); uint64_t GetNextBasicBlockStartAfterAddress(uint64_t addr); diff --git a/binaryninjacore.h b/binaryninjacore.h index 245e6353..e9ef7c7a 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -2232,6 +2232,7 @@ extern "C" BINARYNINJACOREAPI void BNCancelAnalysisCompletionEvent(BNAnalysisCompletionEvent* event); BINARYNINJACOREAPI BNAnalysisProgress BNGetAnalysisProgress(BNBinaryView* view); + BINARYNINJACOREAPI BNBackgroundTask* BNGetBackgroundAnalysisTask(BNBinaryView* view); BINARYNINJACOREAPI uint64_t BNGetNextFunctionStartAfterAddress(BNBinaryView* view, uint64_t addr); BINARYNINJACOREAPI uint64_t BNGetNextBasicBlockStartAfterAddress(BNBinaryView* view, uint64_t addr); diff --git a/binaryview.cpp b/binaryview.cpp index 0ee428e1..96fd161d 100644 --- a/binaryview.cpp +++ b/binaryview.cpp @@ -1351,6 +1351,16 @@ BNAnalysisProgress BinaryView::GetAnalysisProgress() } +Ref BinaryView::GetBackgroundAnalysisTask() +{ + BNBackgroundTask* task = BNGetBackgroundAnalysisTask(m_object); + if (!task) + return nullptr; + + return new BackgroundTask(BNNewBackgroundTaskReference(task)); +} + + uint64_t BinaryView::GetNextFunctionStartAfterAddress(uint64_t addr) { return BNGetNextFunctionStartAfterAddress(m_object, addr); -- cgit v1.3.1