From 36a9dba87f042824114b9132607dba9e52c2242f Mon Sep 17 00:00:00 2001 From: Mark Rowe Date: Thu, 7 Aug 2025 22:54:38 -0700 Subject: [SVD] Use type-safe activity configuration --- plugins/svd/src/lib.rs | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) (limited to 'plugins') diff --git a/plugins/svd/src/lib.rs b/plugins/svd/src/lib.rs index 3a40d2c0..4a611e3d 100644 --- a/plugins/svd/src/lib.rs +++ b/plugins/svd/src/lib.rs @@ -6,19 +6,9 @@ use crate::settings::LoadSettings; use binaryninja::binary_view::{BinaryView, BinaryViewBase, BinaryViewExt}; use binaryninja::command::Command; use binaryninja::logger::Logger; -use binaryninja::workflow::{Activity, AnalysisContext, Workflow}; +use binaryninja::workflow::{activity, Activity, AnalysisContext, Workflow}; use log::LevelFilter; -const LOADER_ACTIVITY_CONFIG: &str = r#"{ - "name": "analysis.svd.loader", - "title" : "SVD Loader", - "description": "This analysis step applies SVD info to the view...", - "eligibility": { - "auto": {}, - "runOnce": true - } -}"#; - struct LoadSVDFile; impl Command for LoadSVDFile { @@ -118,7 +108,13 @@ fn plugin_init() -> Result<(), ()> { }; // Register new workflow activity to load svd information. - let loader_activity = Activity::new_with_action(LOADER_ACTIVITY_CONFIG, loader_activity); + let loader_config = activity::Config::action( + "analysis.svd.loader", + "SVD Loader", + "This analysis step applies SVD info to the view...", + ) + .eligibility(activity::Eligibility::auto().run_once(true)); + let loader_activity = Activity::new_with_action(loader_config, loader_activity); Workflow::cloned("core.module.metaAnalysis") .ok_or(())? .activity_before(&loader_activity, "core.module.loadDebugInfo")? -- cgit v1.3.1