atspi_common/events/
focus.rs1#[cfg(feature = "zbus")]
2use crate::error::AtspiError;
3#[cfg(feature = "zbus")]
4use crate::EventProperties;
5use crate::{
6 events::{DBusInterface, DBusMatchRule, DBusMember, RegistryEventString},
7 object_ref::ObjectRefOwned,
8};
9
10#[cfg(feature = "zbus")]
11use zbus::message::Header;
12
13#[derive(Debug, PartialEq, Clone, serde::Serialize, serde::Deserialize, Eq, Hash, Default)]
14pub struct FocusEvent {
15 pub item: ObjectRefOwned,
17}
18
19impl_event_type_properties_for_event!(FocusEvent);
20
21impl_member_interface_registry_string_and_match_rule_for_event! {
22 FocusEvent,
23 "Focus",
24 "org.a11y.atspi.Event.Focus",
25 "focus:",
26 "type='signal',interface='org.a11y.atspi.Event.Focus',member='Focus'"
27}
28
29impl_msg_conversion_ext_for_target_type!(FocusEvent);
30impl_msg_conversion_for_types_built_from_object_ref!(FocusEvent);
31
32event_test_cases!(FocusEvent);
33impl_to_dbus_message!(FocusEvent);
34impl_from_dbus_message!(FocusEvent);
35impl_event_properties!(FocusEvent);
36impl_from_object_ref!(FocusEvent);