Skip to main content

xa11y_linux/
stub.rs

1//! Stub backend for non-Linux platforms (allows compilation on all targets).
2
3use 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}