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