diff options
| author | Rusty Wagner <rusty@vector35.com> | 2016-09-03 01:32:35 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2016-09-03 01:32:35 -0400 |
| commit | 50cafb19ae59ba48fea2e7bd0c79a2e9473c2c86 (patch) | |
| tree | f8025ed9b2f7adc6a3cdfd04cd46cb3fdda2ead7 /binaryninjaapi.h | |
| parent | 75f597bb8fcd58315537f1dcd9802bbaadcdbd36 (diff) | |
Adding APIs to ensure IL is available for upcoming caching methods
Diffstat (limited to 'binaryninjaapi.h')
| -rw-r--r-- | binaryninjaapi.h | 21 |
1 files changed, 21 insertions, 0 deletions
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<BNFunction, BNNewFunctionReference, BNFreeFunction> { + int m_advancedAnalysisRequests; + public: Function(BNFunction* func); + virtual ~Function(); Ref<Architecture> GetArchitecture() const; Ref<Platform> GetPlatform() const; @@ -1684,6 +1687,24 @@ namespace BinaryNinja BNIntegerDisplayType type); void Reanalyze(); + + void RequestAdvancedAnalysisData(); + void ReleaseAdvancedAnalysisData(); + void ReleaseAdvancedAnalysisData(size_t count); + }; + + class AdvancedFunctionAnalysisDataRequestor + { + Ref<Function> m_func; + + public: + AdvancedFunctionAnalysisDataRequestor(Function* func = nullptr); + AdvancedFunctionAnalysisDataRequestor(const AdvancedFunctionAnalysisDataRequestor& req); + ~AdvancedFunctionAnalysisDataRequestor(); + AdvancedFunctionAnalysisDataRequestor& operator=(const AdvancedFunctionAnalysisDataRequestor& req); + + Ref<Function> GetFunction() { return m_func; } + void SetFunction(Function* func); }; struct FunctionGraphEdge |
