summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2026-03-19 14:56:11 -0400
committerBrian Potchik <brian@vector35.com>2026-03-19 14:56:11 -0400
commitefb7b798391b526bf7d6a29b6f87e8d95ee35d50 (patch)
tree6bf1aeed6d3ff77bfe4e437632ec5eba68d00662
parentcbc66f931da1046b3980c2c7c6b64c2f2ac358e2 (diff)
Add TransformSession constructor that adopts an existing TransformContext.
-rw-r--r--binaryninjaapi.h1
-rw-r--r--binaryninjacore.h3
-rw-r--r--transformsession.cpp6
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;