error.rs

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