aboutsummaryrefslogtreecommitdiffstats
path: root/filamento/src/error.rs
diff options
context:
space:
mode:
authorLibravatar cel 🌸 <cel@bunny.garden>2025-04-03 09:46:24 +0100
committerLibravatar cel 🌸 <cel@bunny.garden>2025-04-03 09:46:24 +0100
commit362a716150e40c4fb7a11a7487fb618a2cd25a4e (patch)
treef15ad2f6751180a96e8416fdaedea279be13ab68 /filamento/src/error.rs
parent9b18e40d8ba5f891e077daa039632f81d5fd2f86 (diff)
downloadluz-362a716150e40c4fb7a11a7487fb618a2cd25a4e.tar.gz
luz-362a716150e40c4fb7a11a7487fb618a2cd25a4e.tar.bz2
luz-362a716150e40c4fb7a11a7487fb618a2cd25a4e.zip
feat(filamento): caps 2.0 helper functions
Diffstat (limited to 'filamento/src/error.rs')
-rw-r--r--filamento/src/error.rs33
1 files changed, 32 insertions, 1 deletions
diff --git a/filamento/src/error.rs b/filamento/src/error.rs
index 9ecc330..1dd4f47 100644
--- a/filamento/src/error.rs
+++ b/filamento/src/error.rs
@@ -1,4 +1,4 @@
-use std::sync::Arc;
+use std::{string::FromUtf8Error, sync::Arc};
use jid::JID;
use lampada::error::{ConnectionError, ReadError, WriteError};
@@ -227,3 +227,34 @@ pub enum NickError {
#[error("disconnected")]
Disconnected,
}
+
+#[derive(Debug, Error, Clone)]
+pub enum CapsDecodeError {
+ #[error("base64 decode: {0}")]
+ Base64Decode(#[from] base64::DecodeError),
+ #[error("utf8: {0}")]
+ UTF8(#[from] FromUtf8Error),
+ #[error("missing features")]
+ MissingFeatures,
+ #[error("missing identities")]
+ MissingIdentities,
+ #[error("missing identity category")]
+ MissingIdentityCategory,
+ #[error("missing identity type")]
+ MissingIdentityType,
+ #[error("missing identity language")]
+ MissingIdentityLang,
+ #[error("missing identity name")]
+ MissingIdentityName,
+}
+
+#[derive(Debug, Error, Clone)]
+pub enum HashNodeConversionError {
+ #[error("no prefix")]
+ NoPrefix,
+ #[error("missing period")]
+ MissingPeriod,
+}
+
+// #[derive(Debug, Error, Clone)]
+// pub enum CapsError {}