atspi_client/
component_ext.rs

1use atspi_proxies::component::{
2	Component, ComponentBlocking, ComponentProxy, ComponentProxyBlocking,
3};
4
5impl_extended_errors!(ComponentProxy<'_>, ComponentExtError);
6impl_extended_errors!(ComponentProxyBlocking<'_>, ComponentBlockingExtError);
7
8#[allow(clippy::module_name_repetitions)]
9pub trait ComponentExtError: Component {
10	type Error: std::error::Error;
11}
12pub trait ComponentBlockingExtError: ComponentBlocking {
13	type Error: std::error::Error;
14}
15
16pub trait ComponentExt {}
17pub trait ComponentBlockingExt {}
18
19impl<T: ComponentExtError + Component> ComponentExt for T {}
20impl<T: ComponentBlockingExtError + ComponentBlocking> ComponentBlockingExt for T {}
21
22assert_impl_all!(ComponentProxy: Component, ComponentExt);
23assert_impl_all!(ComponentProxyBlocking: ComponentBlocking, ComponentBlockingExt);