use crate::{Button, Key};
pub struct Simulator(crate::platform::Simulator);
impl Simulator {
#[inline]
pub fn new() -> Result<Self, crate::Error> {
crate::platform::Simulator::new()
.map(Self)
.map_err(crate::Error)
}
#[inline]
pub fn press_key(&self, key: Key) -> Result<(), crate::Error> {
self.0.press_key(key).map_err(crate::Error)
}
#[inline]
pub fn release_key(&self, key: Key) -> Result<(), crate::Error> {
self.0.release_key(key).map_err(crate::Error)
}
#[inline]
pub fn send_key(&self, key: Key) -> Result<(), crate::Error> {
self.0.send_key(key).map_err(crate::Error)
}
#[inline]
pub fn press_button(&self, button: Button) -> Result<(), crate::Error> {
self.0.press_button(button).map_err(crate::Error)
}
#[inline]
pub fn release_button(&self, button: Button) -> Result<(), crate::Error> {
self.0.release_button(button).map_err(crate::Error)
}
#[inline]
pub fn send_button(&self, button: Button) -> Result<(), crate::Error> {
self.0.send_button(button).map_err(crate::Error)
}
#[inline]
pub fn send_char(&self, c: char) -> Result<(), crate::Error> {
self.0.send_char(c).map_err(crate::Error)
}
#[inline]
pub fn send_chars(&self, it: impl IntoIterator<Item = char>) -> Result<(), crate::Error> {
self.0.send_chars(it.into_iter()).map_err(crate::Error)
}
#[inline]
pub fn send_str(&self, s: &str) -> Result<(), crate::Error> {
self.0.send_str(s).map_err(crate::Error)
}
}