MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / FlowGraphLayoutRequest

Class FlowGraphLayoutRequest

python/flowgraph.py:345–376  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

343
344
345class FlowGraphLayoutRequest:
346 def __init__(self, graph, callback=None):
347 self.on_complete = callback
348 self._cb = ctypes.CFUNCTYPE(None, ctypes.c_void_p)(self._complete)
349 self.handle = core.BNStartFlowGraphLayout(graph.handle, None, self._cb)
350
351 def __del__(self):
352 if core is None:
353 return
354 self.abort()
355 core.BNFreeFlowGraphLayoutRequest(self.handle)
356
357 def _complete(self, ctxt):
358 try:
359 if self.on_complete is not None:
360 self.on_complete()
361 except:
362 log_error(traceback.format_exc())
363
364 @property
365 def complete(self):
366 """Whether flow graph layout is complete (read-only)"""
367 return core.BNIsFlowGraphLayoutRequestComplete(self.handle)
368
369 @property
370 def graph(self):
371 """Flow graph that is being processed (read-only)"""
372 return CoreFlowGraph(core.BNGetGraphForFlowGraphLayoutRequest(self.handle))
373
374 def abort(self):
375 core.BNAbortFlowGraphLayoutRequest(self.handle)
376 self.on_complete = None
377
378
379class FlowGraph:

Callers 1

layoutMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected