From 50cafb19ae59ba48fea2e7bd0c79a2e9473c2c86 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Sat, 3 Sep 2016 01:32:35 -0400 Subject: Adding APIs to ensure IL is available for upcoming caching methods --- binaryninjaapi.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'binaryninjaapi.h') diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 342dcc48..72e13567 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -1611,8 +1611,11 @@ namespace BinaryNinja class Function: public CoreRefCountObject { + int m_advancedAnalysisRequests; + public: Function(BNFunction* func); + virtual ~Function(); Ref GetArchitecture() const; Ref GetPlatform() const; @@ -1684,6 +1687,24 @@ namespace BinaryNinja BNIntegerDisplayType type); void Reanalyze(); + + void RequestAdvancedAnalysisData(); + void ReleaseAdvancedAnalysisData(); + void ReleaseAdvancedAnalysisData(size_t count); + }; + + class AdvancedFunctionAnalysisDataRequestor + { + Ref m_func; + + public: + AdvancedFunctionAnalysisDataRequestor(Function* func = nullptr); + AdvancedFunctionAnalysisDataRequestor(const AdvancedFunctionAnalysisDataRequestor& req); + ~AdvancedFunctionAnalysisDataRequestor(); + AdvancedFunctionAnalysisDataRequestor& operator=(const AdvancedFunctionAnalysisDataRequestor& req); + + Ref GetFunction() { return m_func; } + void SetFunction(Function* func); }; struct FunctionGraphEdge -- cgit v1.3.1