1use server::xous;
4
5#[derive(Debug, thiserror::Error, rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)]
6pub enum Error {
7 #[error("xous error: {:?}", xous::Error::from_usize(*.0))]
8 Xous(usize),
9
10 #[error("invalid backup file")]
11 InvalidBackupFile,
12
13 #[error(transparent)]
14 CryptoError(#[from] crypto::error::CryptoError),
15
16 #[error(transparent)]
17 AccessDenied(#[from] security::AccessDenied),
18
19 #[error(transparent)]
20 Fs(#[from] fs::Error),
21
22 #[error("io error: {0}")]
23 Io(String),
24}
25
26impl From<xous::Error> for Error {
27 fn from(e: xous::Error) -> Self { Error::Xous(e.to_usize()) }
28}
29
30impl From<std::io::Error> for Error {
31 fn from(e: std::io::Error) -> Self { Error::Io(e.to_string()) }
32}