1use crate::client::Event;
2use thiserror::Error;
3use tokio::sync::broadcast::error::SendError;
4
5pub type Result<T> = std::result::Result<T, Error>;
6
7#[derive(Error, Debug)]
8pub enum Error {
9 #[error("dbus properties missing one or more required fields")]
10 MissingProperty(&'static str),
11 #[error("failed to send event through tokio broadcast channel")]
12 EventSend(#[from] SendError<Event>),
13 #[error("zbus error")]
14 ZBus(#[from] zbus::Error),
15 #[error("zbus fdo error")]
16 ZBusFdo(#[from] zbus::fdo::Error),
17 #[error("zbus variant error")]
18 ZBusVariant(#[from] zbus::zvariant::Error),
19 #[error("invalid data error")]
20 InvalidData(&'static str),
21}