atspi_common/events/
focus.rs

1#[cfg(feature = "zbus")]
2use crate::{
3	error::AtspiError,
4	events::{MessageConversion, MessageConversionExt},
5};
6use crate::{events::BusProperties, EventProperties};
7use zbus_names::UniqueName;
8use zvariant::ObjectPath;
9
10#[derive(Debug, PartialEq, Clone, serde::Serialize, serde::Deserialize, Eq, Hash, Default)]
11pub struct FocusEvent {
12	/// The [`crate::ObjectRef`] which the event applies to.
13	pub item: crate::events::ObjectRef,
14}
15
16impl BusProperties for FocusEvent {
17	const DBUS_MEMBER: &'static str = "Focus";
18	const DBUS_INTERFACE: &'static str = "org.a11y.atspi.Event.Focus";
19	const MATCH_RULE_STRING: &'static str =
20		"type='signal',interface='org.a11y.atspi.Event.Focus',member='Focus'";
21	const REGISTRY_EVENT_STRING: &'static str = "Focus:";
22}
23
24event_test_cases!(FocusEvent);
25impl_to_dbus_message!(FocusEvent);
26impl_from_dbus_message!(FocusEvent);
27impl_event_properties!(FocusEvent);
28impl_from_object_ref!(FocusEvent);