BinaryNinja::FlowGraph Class Reference

Public Member Functions

 FlowGraph ()
 
Ref< FunctionGetFunction () const
 
Ref< BinaryViewGetView () const
 
void SetFunction (Function *func)
 
void SetView (BinaryView *view)
 
int GetHorizontalNodeMargin () const
 
int GetVerticalNodeMargin () const
 
void SetNodeMargins (int horiz, int vert)
 
Ref< FlowGraphLayoutRequestStartLayout (const std::function< void()> &func)
 
bool IsLayoutComplete ()
 
std::vector< Ref< FlowGraphNode > > GetNodes ()
 
Ref< FlowGraphNodeGetNode (size_t i)
 
bool HasNodes () const
 
size_t AddNode (FlowGraphNode *node)
 
int GetWidth () const
 
int GetHeight () const
 
std::vector< Ref< FlowGraphNode > > GetNodesInRegion (int left, int top, int right, int bottom)
 
bool IsILGraph () const
 
bool IsLowLevelILGraph () const
 
bool IsMediumLevelILGraph () const
 
bool IsHighLevelILGraph () const
 
Ref< LowLevelILFunctionGetLowLevelILFunction () const
 
Ref< MediumLevelILFunctionGetMediumLevelILFunction () const
 
Ref< HighLevelILFunctionGetHighLevelILFunction () const
 
void SetLowLevelILFunction (LowLevelILFunction *func)
 
void SetMediumLevelILFunction (MediumLevelILFunction *func)
 
void SetHighLevelILFunction (HighLevelILFunction *func)
 
void Show (const std::string &title)
 
virtual bool HasUpdates () const
 
virtual Ref< FlowGraphUpdate ()
 
void SetOption (BNFlowGraphOption option, bool value=true)
 
bool IsOptionSet (BNFlowGraphOption option)
 
- Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNFlowGraph, BNNewFlowGraphReference, BNFreeFlowGraph >
 CoreRefCountObject ()
 
virtual ~CoreRefCountObject ()
 
BNFlowGraph * GetObject () const
 
void AddRef ()
 
void Release ()
 
void AddRefForRegistration ()
 
void ReleaseForRegistration ()
 

Protected Member Functions

 FlowGraph (BNFlowGraph *graph)
 
void FinishPrepareForLayout ()
 
virtual void PrepareForLayout ()
 
virtual void PopulateNodes ()
 
virtual void CompleteLayout ()
 

Protected Attributes

bool m_queryMode = false
 

Additional Inherited Members

- Static Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNFlowGraph, BNNewFlowGraphReference, BNFreeFlowGraph >
static BNFlowGraph * GetObject (CoreRefCountObject *obj)
 
- Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNFlowGraph, BNNewFlowGraphReference, BNFreeFlowGraph >
std::atomic< int > m_refs
 
bool m_registeredRef
 
BNFlowGraph * m_object
 

Constructor & Destructor Documentation

◆ FlowGraph() [1/2]

FlowGraph::FlowGraph ( BNFlowGraph *  graph)
protected

◆ FlowGraph() [2/2]

FlowGraph::FlowGraph ( )

Member Function Documentation

◆ AddNode()

size_t FlowGraph::AddNode ( FlowGraphNode node)

◆ CompleteLayout()

void FlowGraph::CompleteLayout ( )
protectedvirtual

◆ FinishPrepareForLayout()

void FlowGraph::FinishPrepareForLayout ( )
protected

◆ GetFunction()

Ref< Function > FlowGraph::GetFunction ( ) const

◆ GetHeight()

int FlowGraph::GetHeight ( ) const

◆ GetHighLevelILFunction()

Ref< HighLevelILFunction > FlowGraph::GetHighLevelILFunction ( ) const

◆ GetHorizontalNodeMargin()

int FlowGraph::GetHorizontalNodeMargin ( ) const

◆ GetLowLevelILFunction()

Ref< LowLevelILFunction > FlowGraph::GetLowLevelILFunction ( ) const

◆ GetMediumLevelILFunction()

Ref< MediumLevelILFunction > FlowGraph::GetMediumLevelILFunction ( ) const

◆ GetNode()

Ref< FlowGraphNode > FlowGraph::GetNode ( size_t  i)

◆ GetNodes()

vector< Ref< FlowGraphNode > > FlowGraph::GetNodes ( )

◆ GetNodesInRegion()

vector< Ref< FlowGraphNode > > FlowGraph::GetNodesInRegion ( int  left,
int  top,
int  right,
int  bottom 
)

◆ GetVerticalNodeMargin()

int FlowGraph::GetVerticalNodeMargin ( ) const

◆ GetView()

Ref< BinaryView > FlowGraph::GetView ( ) const

◆ GetWidth()

int FlowGraph::GetWidth ( ) const

◆ HasNodes()

bool FlowGraph::HasNodes ( ) const

◆ HasUpdates()

bool FlowGraph::HasUpdates ( ) const
virtual

Reimplemented in BinaryNinja::CoreFlowGraph.

◆ IsHighLevelILGraph()

bool FlowGraph::IsHighLevelILGraph ( ) const

◆ IsILGraph()

bool FlowGraph::IsILGraph ( ) const

◆ IsLayoutComplete()

bool FlowGraph::IsLayoutComplete ( )

◆ IsLowLevelILGraph()

bool FlowGraph::IsLowLevelILGraph ( ) const

◆ IsMediumLevelILGraph()

bool FlowGraph::IsMediumLevelILGraph ( ) const

◆ IsOptionSet()

bool FlowGraph::IsOptionSet ( BNFlowGraphOption  option)

◆ PopulateNodes()

void FlowGraph::PopulateNodes ( )
protectedvirtual

◆ PrepareForLayout()

void FlowGraph::PrepareForLayout ( )
protectedvirtual

◆ SetFunction()

void FlowGraph::SetFunction ( Function func)

◆ SetHighLevelILFunction()

void FlowGraph::SetHighLevelILFunction ( HighLevelILFunction func)

◆ SetLowLevelILFunction()

void FlowGraph::SetLowLevelILFunction ( LowLevelILFunction func)

◆ SetMediumLevelILFunction()

void FlowGraph::SetMediumLevelILFunction ( MediumLevelILFunction func)

◆ SetNodeMargins()

void FlowGraph::SetNodeMargins ( int  horiz,
int  vert 
)

◆ SetOption()

void FlowGraph::SetOption ( BNFlowGraphOption  option,
bool  value = true 
)

◆ SetView()

void FlowGraph::SetView ( BinaryView view)

◆ Show()

void FlowGraph::Show ( const std::string &  title)

◆ StartLayout()

Ref< FlowGraphLayoutRequest > FlowGraph::StartLayout ( const std::function< void()> &  func)

◆ Update()

Ref< FlowGraph > FlowGraph::Update ( )
virtual

Reimplemented in BinaryNinja::CoreFlowGraph.

Member Data Documentation

◆ m_queryMode

bool BinaryNinja::FlowGraph::m_queryMode = false
protected

The documentation for this class was generated from the following files: