diff options
| author | Brian Potchik <brian@vector35.com> | 2025-01-22 10:48:44 -0500 |
|---|---|---|
| committer | Brian Potchik <brian@vector35.com> | 2025-01-22 10:48:44 -0500 |
| commit | 8ba7106948272275534309d10a5a444f26df01ee (patch) | |
| tree | 557da11f907b4f05d024c0e5d63a5580bd124130 /binaryninjaapi.h | |
| parent | f1eccb70c2f23fc6665733d8c911b21eb36cbcf5 (diff) | |
Support eligibility callbacks through the API for Workflow actions.
Diffstat (limited to 'binaryninjaapi.h')
| -rw-r--r-- | binaryninjaapi.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 2a2e5e9b..f8d7504a 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -9943,15 +9943,19 @@ namespace BinaryNinja { { protected: std::function<void(Ref<AnalysisContext> analysisContext)> m_action; + std::function<bool(Ref<Activity>, Ref<AnalysisContext>)> m_eligibility; - static void Run(void* ctxt, BNAnalysisContext* analysisContext); + static void RunAction(void* ctxt, BNAnalysisContext* analysisContext); + static bool CheckEligibility(void* ctxt, BNActivity* activity, BNAnalysisContext* analysisContext); public: /*! \param configuration a JSON representation of the activity configuration \param action Workflow action, a function taking a Ref<AnalysisContext> as an argument. + \param eligibility A function that determines whether the activity is eligible to run */ - Activity(const std::string& configuration, const std::function<void(Ref<AnalysisContext>)>& action); + Activity(const std::string& configuration, const std::function<void(Ref<AnalysisContext>)>& action, + const std::function<bool(Ref<Activity>, Ref<AnalysisContext>)>& eligibility = nullptr); Activity(BNActivity* activity); virtual ~Activity(); |
