1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
//! # `DBus` interface proxy for: `org.a11y.atspi.Cache`
//!
//! This code was generated by `zbus-xmlgen` `2.0.1` from `DBus` introspection data.
//! Source: `Cache.xml`.
//!
use crate::{accessible::Role, InterfaceSet, StateSet};
use serde::{Deserialize, Serialize};
use zbus::dbus_proxy;
use zbus::zvariant::{OwnedObjectPath, Type};
/// The item type provided by `Cache:Add` signals
#[allow(clippy::module_name_repetitions)]
#[derive(Clone, Debug, Serialize, Deserialize, Type, PartialEq, Eq, Hash)]
pub struct CacheItem {
/// The accessible object (within the application) (so)
pub object: (String, OwnedObjectPath),
/// The application (root object(?) (so)
pub app: (String, OwnedObjectPath),
/// The parent object. (so)
pub parent: (String, OwnedObjectPath),
/// The accessbile index in parent. i
pub index: i32,
/// Child count of the accessible i
pub children: i32,
/// The exposed interfece(s) set. as
pub ifaces: InterfaceSet,
/// The short localized name. s
pub short_name: String,
/// Accessible role. u
pub role: Role,
/// More detailed localized name.
pub name: String,
/// The states applicable to the accessible. au
pub states: StateSet,
}
#[test]
fn zvariant_type_signature_of_cache_item() {
assert_eq!(
CacheItem::signature(),
zbus::zvariant::Signature::from_static_str("((so)(so)(so)iiassusau)").unwrap()
);
}
// impl CacheItem {
// fn accessible(&self, conn: &Connection) -> AccessibleProxy<'_> {
// let conn = conn.inner().connection();
// let (name, path) = (self.object.0, self.object.1);
// ProxyBuilder::new(conn)
// }
// }
//
#[dbus_proxy(interface = "org.a11y.atspi.Cache", default_path = "/org/a11y/atspi/cache")]
trait Cache {
/// GetItems method
fn get_items(&self) -> zbus::Result<Vec<CacheItem>>;
/// AddAccessible signal
#[dbus_proxy(signal)]
fn add_accessible(&self, node_added: CacheItem) -> zbus::Result<()>;
/// RemoveAccessible signal
#[dbus_proxy(signal)]
fn remove_accessible(&self, node_removed: (String, OwnedObjectPath)) -> zbus::Result<()>;
}
use crate::{AtspiProxy, Interface};
impl<'a> AtspiProxy for CacheProxy<'a> {
const INTERFACE: Interface = Interface::Cache;
}