mocklogger/logger/
errors.rs1use super::keys;
4use crate::types::DataTypeError;
5use crate::types::UnitError;
6use zbus::DBusError;
7
8#[derive(Debug, DBusError)]
9#[zbus(prefix = "se.modio.logger.fsipc")]
10pub enum LogErr {
11 #[zbus(error)]
12 ZBus(zbus::Error),
13 KeyError(String),
14 NotFound,
15 NoMetadata,
16 TransactionNotFound,
17 InvalidPrepared(String),
18 Datastore(String),
19 Buffer(String),
20 IOError(String),
21 UnitError(String),
22 DataTypeError(String),
23 Serde(String),
24}
25
26impl From<std::io::Error> for LogErr {
27 fn from(e: std::io::Error) -> Self {
28 let msg = e.to_string();
29 Self::IOError(msg)
30 }
31}
32
33impl From<modio_logger_db::Error> for LogErr {
34 fn from(e: modio_logger_db::Error) -> Self {
35 match e {
36 modio_logger_db::Error::NotFound { .. } => Self::NotFound,
37 _ => {
38 let msg = e.to_string();
39 Self::Datastore(msg)
40 }
41 }
42 }
43}
44
45impl From<serde_json::Error> for LogErr {
46 fn from(e: serde_json::Error) -> Self {
47 let msg = e.to_string();
48 Self::Serde(msg)
49 }
50}
51
52impl From<keys::KeyError> for LogErr {
53 fn from(e: keys::KeyError) -> Self {
54 let msg = e.to_string();
55 Self::KeyError(msg)
56 }
57}
58
59impl From<UnitError> for LogErr {
60 fn from(e: UnitError) -> Self {
61 let msg = e.to_string();
62 Self::UnitError(msg)
63 }
64}
65
66impl From<DataTypeError> for LogErr {
67 fn from(e: DataTypeError) -> Self {
68 let msg = e.to_string();
69 Self::DataTypeError(msg)
70 }
71}