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::DecodeError),
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::DecodeError> for Error {
30 fn from(err: base64::DecodeError) -> 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}