error.rs

 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}