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
//! # `DBus` interface proxy for: `org.a11y.atspi.Collection`
//!
//! This code was generated by `zbus-xmlgen` `2.0.1` from `DBus` introspection data.
//! Source: `Collection.xml`.
//!
//! You may prefer to adapt it, instead of using it verbatim.
//!
//! More information can be found in the
//! [Writing a client proxy](https://dbus.pages.freedesktop.org/zbus/client.html)
//! section of the zbus documentation.
//!
#![allow(clippy::too_many_arguments)]
// this allow zbus to change the number of parameters in a function without setting off clippy

use crate::common::{MatchArgs, ObjectRef, SortOrder, TreeTraversalType};

#[zbus::proxy(interface = "org.a11y.atspi.Collection", assume_defaults = true)]
trait Collection {
	/// GetActiveDescendant method
	fn get_active_descendant(&self) -> zbus::Result<ObjectRef>;

	/* ROLE fields:
	  &[i32]: AtspiStateSet,
	  i32: AtspiCollectionMatchType,
	  HashMap<&str, &str>: attributes,
	  i32: AtspiCollectionMatchType (attribute match type),
	  &[i32]: roles,
	  i32: AtspiCollectionMatchType (role match type),
	  &[&str]: interfaces,
	  i32: AtspiCollectionMatchType (interface match type),
	  bool: invert
	*/
	/// GetMatches method
	fn get_matches(
		&self,
		rule: &MatchArgs<'_>,
		sortby: SortOrder,
		count: i32,
		traverse: bool,
	) -> zbus::Result<Vec<ObjectRef>>;

	/// GetMatchesFrom method
	fn get_matches_from(
		&self,
		current_object: &zbus::zvariant::ObjectPath<'_>,
		rule: &MatchArgs<'_>,
		sortby: SortOrder,
		tree: TreeTraversalType,
		count: i32,
		traverse: bool,
	) -> zbus::Result<Vec<ObjectRef>>;

	/// GetMatchesTo method
	fn get_matches_to(
		&self,
		current_object: &zbus::zvariant::ObjectPath<'_>,
		rule: &MatchArgs<'_>,
		sortby: SortOrder,
		tree: TreeTraversalType,
		limit_scope: bool,
		count: i32,
		traverse: bool,
	) -> zbus::Result<Vec<ObjectRef>>;
}