use std::str::Utf8Error; use rsasl::mechname::MechanismNameError; #[derive(Debug)] pub enum JabberError { Connection, BadStream, StartTlsUnavailable, TlsNegotiation, Utf8Decode, XML(quick_xml::Error), SASL(SASLError), } #[derive(Debug)] pub enum SASLError { SASL(rsasl::prelude::SASLError), MechanismName(MechanismNameError), } impl From for JabberError { fn from(e: rsasl::prelude::SASLError) -> Self { Self::SASL(SASLError::SASL(e)) } } impl From for JabberError { fn from(value: MechanismNameError) -> Self { Self::SASL(SASLError::MechanismName(value)) } } impl From for JabberError { fn from(e: Utf8Error) -> Self { Self::Utf8Decode } } impl From for JabberError { fn from(e: quick_xml::Error) -> Self { Self::XML(e) } }