atspi_client/
action_ext.rs1use atspi_proxies::action::{Action, ActionBlocking, ActionProxy, ActionProxyBlocking};
2
3impl_extended_errors!(ActionProxy<'_>, ActionExtError);
4impl_extended_errors!(ActionProxyBlocking<'_>, ActionBlockingExtError);
5
6#[allow(clippy::module_name_repetitions)]
7pub trait ActionExtError: Action {
8 type Error: std::error::Error;
9}
10pub trait ActionBlockingExtError: ActionBlocking {
11 type Error: std::error::Error;
12}
13
14pub trait ActionExt {}
15pub trait ActionBlockingExt {}
16
17impl<T: ActionExtError + Action> ActionExt for T {}
18impl<T: ActionBlockingExtError + ActionBlocking> ActionBlockingExt for T {}
19
20assert_impl_all!(ActionProxy: Action, ActionExt);
21assert_impl_all!(ActionProxyBlocking: ActionBlocking, ActionBlockingExt);