1use xa11y_core::{ElementData, Error, Provider, Result, Subscription};
4
5#[derive(Default)]
6pub struct LinuxProvider;
7
8impl LinuxProvider {
9 pub fn new() -> Result<Self> {
10 Ok(Self)
11 }
12}
13
14const NOT_AVAILABLE: &str = "Linux backend not available on this platform";
15
16fn unavailable() -> Error {
17 Error::Platform {
18 code: -1,
19 message: NOT_AVAILABLE.to_string(),
20 }
21}
22
23impl Provider for LinuxProvider {
24 fn get_children(&self, _: Option<&ElementData>) -> Result<Vec<ElementData>> {
25 Err(unavailable())
26 }
27
28 fn get_parent(&self, _: &ElementData) -> Result<Option<ElementData>> {
29 Err(unavailable())
30 }
31
32 fn press(&self, _: &ElementData) -> Result<()> {
33 Err(unavailable())
34 }
35
36 fn focus(&self, _: &ElementData) -> Result<()> {
37 Err(unavailable())
38 }
39
40 fn blur(&self, _: &ElementData) -> Result<()> {
41 Err(unavailable())
42 }
43
44 fn toggle(&self, _: &ElementData) -> Result<()> {
45 Err(unavailable())
46 }
47
48 fn select(&self, _: &ElementData) -> Result<()> {
49 Err(unavailable())
50 }
51
52 fn expand(&self, _: &ElementData) -> Result<()> {
53 Err(unavailable())
54 }
55
56 fn collapse(&self, _: &ElementData) -> Result<()> {
57 Err(unavailable())
58 }
59
60 fn show_menu(&self, _: &ElementData) -> Result<()> {
61 Err(unavailable())
62 }
63
64 fn increment(&self, _: &ElementData) -> Result<()> {
65 Err(unavailable())
66 }
67
68 fn decrement(&self, _: &ElementData) -> Result<()> {
69 Err(unavailable())
70 }
71
72 fn scroll_into_view(&self, _: &ElementData) -> Result<()> {
73 Err(unavailable())
74 }
75
76 fn set_value(&self, _: &ElementData, _: &str) -> Result<()> {
77 Err(unavailable())
78 }
79
80 fn set_numeric_value(&self, _: &ElementData, _: f64) -> Result<()> {
81 Err(unavailable())
82 }
83
84 fn type_text(&self, _: &ElementData, _: &str) -> Result<()> {
85 Err(unavailable())
86 }
87
88 fn set_text_selection(&self, _: &ElementData, _: u32, _: u32) -> Result<()> {
89 Err(unavailable())
90 }
91
92 fn scroll_down(&self, _: &ElementData, _: f64) -> Result<()> {
93 Err(unavailable())
94 }
95
96 fn scroll_up(&self, _: &ElementData, _: f64) -> Result<()> {
97 Err(unavailable())
98 }
99
100 fn scroll_right(&self, _: &ElementData, _: f64) -> Result<()> {
101 Err(unavailable())
102 }
103
104 fn scroll_left(&self, _: &ElementData, _: f64) -> Result<()> {
105 Err(unavailable())
106 }
107
108 fn perform_action(&self, _: &ElementData, _: &str) -> Result<()> {
109 Err(unavailable())
110 }
111
112 fn subscribe(&self, _: &ElementData) -> Result<Subscription> {
113 Err(unavailable())
114 }
115}