summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2025-04-27 10:29:51 -0400
committerBrian Potchik <brian@vector35.com>2025-04-27 10:29:51 -0400
commit54990215c2ad8bda17de857a7fe97d9a7559364f (patch)
treec48f5215c7b9bc4b70391dc8aea48bf72193e9ca /binaryninjaapi.h
parentaf87287534221d6c5b0e3425dfcbc84800b7c2f0 (diff)
Add initial Workflow Monitor UI and support for nested subflows.
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h36
1 files changed, 29 insertions, 7 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index a749ac79..680b9592 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -10113,17 +10113,45 @@ namespace BinaryNinja {
bool PostRequest(const std::string& command);
public:
+
+ // TODO: Convert to BNWorkflowMachineStatus structure
+ struct Status
+ {
+ std::string state = "Invalid";
+ std::string activity;
+ bool localLogEnabled;
+ bool globalLogEnabled;
+ };
+
WorkflowMachine(Ref<BinaryView> view);
WorkflowMachine(Ref<Function> function);
bool PostJsonRequest(const std::string& request);
- /*! Start the workflow WorkflowMachine
+ void ShowTopology();
+
+ WorkflowMachine::Status GetStatus();
+
+ /*! Resume the workflow machine
+
+ Resumes the workflow machine for the given BinaryView or Function.
+ \return true if the command is accepted, false otherwise.
+ */
+ bool Resume();
+
+ /*! Start the workflow Machine
Starts the workflow machine for the given BinaryView or Function.
\return true if the command is accepted, false otherwise.
*/
bool Run();
+ /*! Configure the workflow machine
+
+ Configures the workflow machine.
+ \return true if the command is accepted, false otherwise.
+ */
+ bool Configure();
+
/*! Halt the workflow machine
Halts analysis at a resumable point.
@@ -10161,12 +10189,6 @@ namespace BinaryNinja {
*/
bool Step();
- // TODO: Add new BNWorkflowMachineStatus structure and cooresponding API
- // BNWorkflowMachineStatus GetStatus();
- // TODO remove the following APIs once the above is implemented
- std::string GetState();
- std::pair<bool, bool> GetLogStatus();
-
bool SetLogEnabled(bool enable, bool global = false);
std::optional<bool> QueryOverride(const std::string& activity);