hd44780_controller/command/common.rs
1use crate::device::*;
2
3pub trait SyncCommand {
4 type Ret;
5 type Err;
6
7 fn execute<D: SyncDevice + ?Sized>(&self, dev: &mut D) -> Result<Self::Ret, Self::Err>;
8}
9
10#[cfg(feature = "async")]
11#[cfg_attr(docsrs, doc(cfg(feature = "async")))]
12pub trait AsyncCommand {
13 type Ret;
14 type Err;
15
16 async fn execute_async<D: AsyncDevice + ?Sized>(
17 &self,
18 dev: &mut D,
19 ) -> Result<Self::Ret, Self::Err>;
20}