From 362a716150e40c4fb7a11a7487fb618a2cd25a4e Mon Sep 17 00:00:00 2001 From: cel 🌸 Date: Thu, 3 Apr 2025 09:46:24 +0100 Subject: feat(filamento): caps 2.0 helper functions --- filamento/src/error.rs | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) (limited to 'filamento/src/error.rs') 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 {} -- cgit