1use std::convert::From;
2use std::io;
3use std::num;
4
5use base64;
6use minidom;
7use jid;
8
9#[derive(Debug)]
10pub enum Error {
11 ParseError(&'static str),
12 IoError(io::Error),
13 XMLError(minidom::Error),
14 Base64Error(base64::DecodeError),
15 ParseIntError(num::ParseIntError),
16 JidParseError(jid::JidParseError),
17}
18
19impl From<io::Error> for Error {
20 fn from(err: io::Error) -> Error {
21 Error::IoError(err)
22 }
23}
24
25impl From<minidom::Error> for Error {
26 fn from(err: minidom::Error) -> Error {
27 Error::XMLError(err)
28 }
29}
30
31impl From<base64::DecodeError> for Error {
32 fn from(err: base64::DecodeError) -> Error {
33 Error::Base64Error(err)
34 }
35}
36
37impl From<num::ParseIntError> for Error {
38 fn from(err: num::ParseIntError) -> Error {
39 Error::ParseIntError(err)
40 }
41}
42
43impl From<jid::JidParseError> for Error {
44 fn from(err: jid::JidParseError) -> Error {
45 Error::JidParseError(err)
46 }
47}