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

Class Activity

binaryninjaapi.h:10105–10130  ·  view source on GitHub ↗

! \ingroup workflow */

Source from the content-addressed store, hash-verified

10103 \ingroup workflow
10104 */
10105 class Activity : public CoreRefCountObject<BNActivity, BNNewActivityReference, BNFreeActivity>
10106 {
10107 protected:
10108 std::function<void(Ref<AnalysisContext> analysisContext)> m_action;
10109 std::function<bool(Ref<Activity>, Ref<AnalysisContext>)> m_eligibility;
10110
10111 static void RunAction(void* ctxt, BNAnalysisContext* analysisContext);
10112 static bool CheckEligibility(void* ctxt, BNActivity* activity, BNAnalysisContext* analysisContext);
10113
10114 public:
10115 /*!
10116 \param configuration a JSON representation of the activity configuration
10117 \param action Workflow action, a function taking a Ref<AnalysisContext> as an argument.
10118 \param eligibility A function that determines whether the activity is eligible to run
10119 */
10120 Activity(const std::string& configuration, const std::function<void(Ref<AnalysisContext>)>& action,
10121 const std::function<bool(Ref<Activity>, Ref<AnalysisContext>)>& eligibility = nullptr);
10122 Activity(BNActivity* activity);
10123 virtual ~Activity();
10124
10125 /*! Get the Activity name
10126
10127 \return Activity name
10128 */
10129 std::string GetName() const;
10130 };
10131
10132 class WorkflowMachine
10133 {

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected