summaryrefslogtreecommitdiff
path: root/binaryninjaapi.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2018-07-13 18:43:34 -0400
committerRusty Wagner <rusty@vector35.com>2018-07-13 18:43:34 -0400
commitc5c93fc82b8929d04f62d241ca50228de60fa5f4 (patch)
treee9456e0921d0706ab839cf4ca96eba18afec96a4 /binaryninjaapi.h
parentdfe5d28f0aaee75ccad8c733e23879676ed77c37 (diff)
Add ability to update custom flow graphs
Diffstat (limited to 'binaryninjaapi.h')
-rw-r--r--binaryninjaapi.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index 1133625e..dd685d2b 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -2585,8 +2585,11 @@ namespace BinaryNinja
static void PrepareForLayoutCallback(void* ctxt);
static void PopulateNodesCallback(void* ctxt);
static void CompleteLayoutCallback(void* ctxt);
+ static BNFlowGraph* UpdateCallback(void* ctxt);
protected:
+ FlowGraph(BNFlowGraph* graph);
+
void FinishPrepareForLayout();
virtual void PrepareForLayout();
virtual void PopulateNodes();
@@ -2594,7 +2597,6 @@ namespace BinaryNinja
public:
FlowGraph();
- FlowGraph(BNFlowGraph* graph);
~FlowGraph();
BNFlowGraph* GetGraphObject() const { return m_graph; }
@@ -2629,6 +2631,15 @@ namespace BinaryNinja
void SetMediumLevelILFunction(MediumLevelILFunction* func);
void Show(const std::string& title);
+
+ virtual Ref<FlowGraph> Update();
+ };
+
+ class CoreFlowGraph: public FlowGraph
+ {
+ public:
+ CoreFlowGraph(BNFlowGraph* graph);
+ virtual Ref<FlowGraph> Update() override;
};
struct LowLevelILLabel: public BNLowLevelILLabel