diff options
| author | Mason Reed <mason@vector35.com> | 2026-02-22 22:42:35 -0800 |
|---|---|---|
| committer | Mason Reed <35282038+emesare@users.noreply.github.com> | 2026-02-23 00:09:44 -0800 |
| commit | d0eec62d6df0edbbb76dfeac58879797e90a8594 (patch) | |
| tree | 03cf8d04eb7d33ac0785f2eede92ecbd552a48b0 /plugins/bntl_utils/src/command | |
| parent | f3e0bf4ab35d50b11b2dbde41a699ab7497208d1 (diff) | |
Add global plugin command type
Register plugins which are available outside the context of a binary view
Diffstat (limited to 'plugins/bntl_utils/src/command')
| -rw-r--r-- | plugins/bntl_utils/src/command/create.rs | 8 | ||||
| -rw-r--r-- | plugins/bntl_utils/src/command/diff.rs | 9 | ||||
| -rw-r--r-- | plugins/bntl_utils/src/command/dump.rs | 10 | ||||
| -rw-r--r-- | plugins/bntl_utils/src/command/validate.rs | 9 |
4 files changed, 16 insertions, 20 deletions
diff --git a/plugins/bntl_utils/src/command/create.rs b/plugins/bntl_utils/src/command/create.rs index 5fa8c2be..96d0eb60 100644 --- a/plugins/bntl_utils/src/command/create.rs +++ b/plugins/bntl_utils/src/command/create.rs @@ -3,7 +3,7 @@ use crate::process::{new_processing_state_background_thread, TypeLibProcessor}; use crate::validate::TypeLibValidater; use binaryninja::background_task::BackgroundTask; use binaryninja::binary_view::{BinaryView, BinaryViewExt}; -use binaryninja::command::{Command, ProjectCommand}; +use binaryninja::command::{Command, GlobalCommand, ProjectCommand}; use binaryninja::interaction::{Form, FormInputField, MessageBoxButtonSet, MessageBoxIcon}; use binaryninja::platform::Platform; use binaryninja::project::Project; @@ -188,14 +188,14 @@ impl CreateFromDirectory { } } -impl Command for CreateFromDirectory { - fn action(&self, _view: &BinaryView) { +impl GlobalCommand for CreateFromDirectory { + fn action(&self) { thread::spawn(move || { CreateFromDirectory::execute(); }); } - fn valid(&self, _view: &BinaryView) -> bool { + fn valid(&self) -> bool { true } } diff --git a/plugins/bntl_utils/src/command/diff.rs b/plugins/bntl_utils/src/command/diff.rs index 48501433..6cc0fe0a 100644 --- a/plugins/bntl_utils/src/command/diff.rs +++ b/plugins/bntl_utils/src/command/diff.rs @@ -2,8 +2,7 @@ use crate::command::OutputDirectoryField; use crate::diff::TILDiff; use crate::helper::path_to_type_libraries; use binaryninja::background_task::BackgroundTask; -use binaryninja::binary_view::BinaryView; -use binaryninja::command::Command; +use binaryninja::command::GlobalCommand; use binaryninja::interaction::{Form, FormInputField}; use std::path::PathBuf; use std::thread; @@ -95,14 +94,14 @@ impl Diff { } } -impl Command for Diff { - fn action(&self, _view: &BinaryView) { +impl GlobalCommand for Diff { + fn action(&self) { thread::spawn(move || { Diff::execute(); }); } - fn valid(&self, _view: &BinaryView) -> bool { + fn valid(&self) -> bool { true } } diff --git a/plugins/bntl_utils/src/command/dump.rs b/plugins/bntl_utils/src/command/dump.rs index 96c3b264..7b48900d 100644 --- a/plugins/bntl_utils/src/command/dump.rs +++ b/plugins/bntl_utils/src/command/dump.rs @@ -2,8 +2,7 @@ use crate::command::{InputDirectoryField, OutputDirectoryField}; use crate::dump::TILDump; use crate::helper::path_to_type_libraries; use binaryninja::background_task::BackgroundTask; -use binaryninja::binary_view::BinaryView; -use binaryninja::command::Command; +use binaryninja::command::GlobalCommand; use binaryninja::interaction::Form; pub struct Dump; @@ -48,15 +47,14 @@ impl Dump { } } -impl Command for Dump { - // TODO: We need a command type that does not require a binary view. - fn action(&self, _view: &BinaryView) { +impl GlobalCommand for Dump { + fn action(&self) { std::thread::spawn(move || { Dump::execute(); }); } - fn valid(&self, _view: &BinaryView) -> bool { + fn valid(&self) -> bool { true } } diff --git a/plugins/bntl_utils/src/command/validate.rs b/plugins/bntl_utils/src/command/validate.rs index b95699e0..921309fd 100644 --- a/plugins/bntl_utils/src/command/validate.rs +++ b/plugins/bntl_utils/src/command/validate.rs @@ -1,8 +1,7 @@ use crate::command::{InputDirectoryField, OutputDirectoryField}; use crate::helper::path_to_type_libraries; use crate::validate::TypeLibValidater; -use binaryninja::binary_view::BinaryView; -use binaryninja::command::Command; +use binaryninja::command::GlobalCommand; use binaryninja::interaction::Form; use binaryninja::platform::Platform; @@ -68,14 +67,14 @@ impl Validate { } } -impl Command for Validate { - fn action(&self, _view: &BinaryView) { +impl GlobalCommand for Validate { + fn action(&self) { std::thread::spawn(move || { Validate::execute(); }); } - fn valid(&self, _view: &BinaryView) -> bool { + fn valid(&self) -> bool { true } } |
