Skip to main content

wayle_notification/
error.rs

1/// Notification service errors
2#[derive(thiserror::Error, Debug)]
3pub enum Error {
4    /// D-Bus communication error
5    #[error("D-Bus operation failed: {0}")]
6    DbusError(#[from] zbus::Error),
7
8    /// Service initialization failed
9    #[error("cannot initialize notification service: {0}")]
10    ServiceInitializationFailed(String),
11
12    /// Cannot claim the notification service name on D-Bus
13    #[error("cannot claim org.freedesktop.Notifications: {0}")]
14    NameClaimFailed(String),
15
16    /// Database operation failed
17    #[error("Database operation failed: {0}")]
18    DatabaseError(String),
19
20    /// Notification not found
21    #[error("Notification with ID {0} not found")]
22    NotificationNotFound(u32),
23
24    /// Invalid notification data
25    #[error("Invalid notification data: {0}")]
26    InvalidNotificationData(String),
27
28    /// Operation failed
29    #[error("cannot {operation}")]
30    OperationFailed {
31        /// The operation that failed
32        operation: &'static str,
33        /// The underlying error
34        #[source]
35        source: Box<dyn std::error::Error + Send + Sync>,
36    },
37}