rust_droid/
error.rs

1use std::path::PathBuf;
2use std::time::Duration;
3use thiserror::Error;
4
5#[derive(Error, Debug)]
6pub enum DroidError {
7    #[error("ADB command failed: {0}")]
8    AdbError(String),
9
10    #[error("Device not found or specified serial is invalid")]
11    DeviceNotFound,
12
13    #[error("Image processing error: {0}")]
14    ImageError(#[from] image::ImageError),
15
16    #[error("I/O error: {0}")]
17    IoError(#[from] std::io::Error),
18
19    #[error("Operation timed out after {0:?}")]
20    Timeout(Duration),
21
22    #[error("Could not find image target on screen: {0:?}")]
23    ImageNotFound(PathBuf),
24
25    #[error("Invalid target for operation: {0}")]
26    InvalidTarget(String),
27
28    #[error("GPU/OpenCL error: {0}")]
29    GpuError(String),
30}
31
32pub type Result<T> = std::result::Result<T, DroidError>;