Skip to content

Commit 77ceac4

Browse files
committed
[SVD] Use type-safe activity configuration
1 parent ef1ffbc commit 77ceac4

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

plugins/svd/src/lib.rs

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,9 @@ use crate::settings::LoadSettings;
66
use binaryninja::binary_view::{BinaryView, BinaryViewBase, BinaryViewExt};
77
use binaryninja::command::Command;
88
use binaryninja::logger::Logger;
9-
use binaryninja::workflow::{Activity, AnalysisContext, Workflow};
9+
use binaryninja::workflow::{activity, Activity, AnalysisContext, Workflow};
1010
use log::LevelFilter;
1111

12-
const LOADER_ACTIVITY_CONFIG: &str = r#"{
13-
"name": "analysis.svd.loader",
14-
"title" : "SVD Loader",
15-
"description": "This analysis step applies SVD info to the view...",
16-
"eligibility": {
17-
"auto": {},
18-
"runOnce": true
19-
}
20-
}"#;
21-
2212
struct LoadSVDFile;
2313

2414
impl Command for LoadSVDFile {
@@ -118,7 +108,13 @@ fn plugin_init() -> Result<(), ()> {
118108
};
119109

120110
// Register new workflow activity to load svd information.
121-
let loader_activity = Activity::new_with_action(LOADER_ACTIVITY_CONFIG, loader_activity);
111+
let loader_config = activity::Config::action(
112+
"analysis.svd.loader",
113+
"SVD Loader",
114+
"This analysis step applies SVD info to the view...",
115+
)
116+
.eligibility(activity::Eligibility::auto().run_once(true));
117+
let loader_activity = Activity::new_with_action(loader_config, loader_activity);
122118
Workflow::cloned("core.module.metaAnalysis")
123119
.ok_or(())?
124120
.activity_before(&loader_activity, "core.module.loadDebugInfo")?

0 commit comments

Comments
 (0)