diff options
| author | Brian Potchik <brian@vector35.com> | 2026-03-19 14:56:11 -0400 |
|---|---|---|
| committer | Brian Potchik <brian@vector35.com> | 2026-03-19 14:56:11 -0400 |
| commit | efb7b798391b526bf7d6a29b6f87e8d95ee35d50 (patch) | |
| tree | 6bf1aeed6d3ff77bfe4e437632ec5eba68d00662 | |
| parent | cbc66f931da1046b3980c2c7c6b64c2f2ac358e2 (diff) | |
Add TransformSession constructor that adopts an existing TransformContext.
| -rw-r--r-- | binaryninjaapi.h | 1 | ||||
| -rw-r--r-- | binaryninjacore.h | 3 | ||||
| -rw-r--r-- | transformsession.cpp | 6 |
3 files changed, 9 insertions, 1 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index f031d0c6..2b6f8adb 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -9454,6 +9454,7 @@ namespace BinaryNinja { TransformSession(const std::string& filename, BNTransformSessionMode mode, const std::string& options = "{}"); TransformSession(Ref<BinaryView> initialView, const std::string& options = "{}"); TransformSession(Ref<BinaryView> initialView, BNTransformSessionMode mode, const std::string& options = "{}"); + TransformSession(Ref<TransformContext> context, BNTransformSessionMode mode, const std::string& options = "{}"); TransformSession(BNTransformSession* session); virtual ~TransformSession(); diff --git a/binaryninjacore.h b/binaryninjacore.h index 6404268c..ef38cef8 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -37,7 +37,7 @@ // Current ABI version for linking to the core. This is incremented any time // there are changes to the API that affect linking, including new functions, // new types, or modifications to existing functions or types. -#define BN_CURRENT_CORE_ABI_VERSION 161 +#define BN_CURRENT_CORE_ABI_VERSION 162 // Minimum ABI version that is supported for loading of plugins. Plugins that // are linked to an ABI version less than this will not be able to load and @@ -4938,6 +4938,7 @@ extern "C" BINARYNINJACOREAPI BNTransformSession* BNCreateTransformSessionWithMode(const char* filename, BNTransformSessionMode mode, const char* options); BINARYNINJACOREAPI BNTransformSession* BNCreateTransformSessionFromBinaryView(BNBinaryView* initialView, const char* options); BINARYNINJACOREAPI BNTransformSession* BNCreateTransformSessionFromBinaryViewWithMode(BNBinaryView* initialView, BNTransformSessionMode mode, const char* options); + BINARYNINJACOREAPI BNTransformSession* BNCreateTransformSessionFromTransformContextWithMode(BNTransformContext* context, BNTransformSessionMode mode, const char* options); BINARYNINJACOREAPI BNTransformSession* BNNewTransformSessionReference(BNTransformSession* session); BINARYNINJACOREAPI void BNFreeTransformSession(BNTransformSession* session); BINARYNINJACOREAPI void BNTransformSessionSetInteractive(BNTransformSession* session, bool interactive); diff --git a/transformsession.cpp b/transformsession.cpp index 5e06db06..2165039c 100644 --- a/transformsession.cpp +++ b/transformsession.cpp @@ -28,6 +28,12 @@ TransformSession::TransformSession(Ref<BinaryView> initialView, BNTransformSessi } +TransformSession::TransformSession(Ref<TransformContext> context, BNTransformSessionMode mode, const string& options) +{ + m_object = BNCreateTransformSessionFromTransformContextWithMode(context->GetObject(), mode, options.c_str()); +} + + TransformSession::TransformSession(BNTransformSession* session) { m_object = session; |
