reqwest_cross/traits/
native.rs1use std::future::Future;
2
3pub trait ResponseHandler<Fut, O>:
6 Send + 'static + FnOnce(reqwest::Result<reqwest::Response>) -> Fut
7where
8 Fut: BoundedFuture<O>,
9{
10}
11impl<T, Fut, O> ResponseHandler<Fut, O> for T
12where
13 T: Send + 'static + FnOnce(reqwest::Result<reqwest::Response>) -> Fut,
14 Fut: BoundedFuture<O>,
15{
16}
17
18pub trait DoneHandler<O>: 'static + Send + FnOnce(reqwest::Result<reqwest::Response>) -> O
22where
23 O: BoundedFuture<()>,
24{
25}
26impl<T, O: BoundedFuture<()>> DoneHandler<O> for T where
27 T: 'static + Send + FnOnce(reqwest::Result<reqwest::Response>) -> O
28{
29}
30
31pub trait BoundedFuture<O>: Future<Output = O> + Send {}
33impl<T, O> BoundedFuture<O> for T where T: Future<Output = O> + Send {}
34
35pub trait UiCallBack: 'static + Send + FnOnce() {}
38impl<T> UiCallBack for T where T: 'static + Send + FnOnce() {}
39
40pub trait ValidReturn: Send + 'static {}
42impl<T: Send + 'static> ValidReturn for T {}