Skip to content

Commit

Permalink
Add Action struct
Browse files Browse the repository at this point in the history
  • Loading branch information
TTWNO committed Jun 27, 2024
1 parent d8e2bdb commit 4f7a242
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 0 deletions.
29 changes: 29 additions & 0 deletions atspi-common/src/action.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
use serde::{Deserialize, Serialize};
use zvariant::Type;

/// An action which may be triggered through the accessibility API.
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, Type)]
pub struct Action {
/// The name of the action
pub name: String,
/// Description of the action
pub description: String,
// TODO: should be an enum/stricter type; this is why it's in its own file.
/// The keybinding(s) used to trigger it (without the AT).
pub keybinding: String,
}

#[cfg(test)]
mod test {
use super::Action;
use zbus_lockstep::method_return_signature;
use zvariant::Type;
#[test]
fn validate_action_signature() {
// signature is of type `a(sss)`, where `(sss)` is the type we're validating.
let action_signature =
method_return_signature!(member: "GetActions", interface: "org.a11y.atspi.Action")
.slice(1..);
assert_eq!(Action::signature(), action_signature);
}
}
2 changes: 2 additions & 0 deletions atspi-common/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ extern crate static_assertions;
#[macro_use]
pub(crate) mod macros;

pub mod action;
pub use action::Action;
pub mod object_match;
pub use object_match::{MatchType, ObjectMatchRule, SortOrder, TreeTraversalType};
pub mod object_ref;
Expand Down

0 comments on commit 4f7a242

Please sign in to comment.