wallpaper_windows_user32/
error.rs

1use std::fmt;
2
3#[derive(Debug)]
4pub enum Error {
5    IOError(std::io::Error),
6    NulError(widestring::NulError<u16>),
7    MissingNulError(widestring::MissingNulError<u16>),
8}
9
10impl fmt::Display for Error {
11    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
12        match self {
13            Error::IOError(err) => err.fmt(f),
14            Error::NulError(err) => err.fmt(f),
15            Error::MissingNulError(err) => err.fmt(f),
16        }
17    }
18}
19
20impl std::error::Error for Error {}
21
22impl From<std::io::Error> for Error {
23    fn from(err: std::io::Error) -> Error {
24        Error::IOError(err)
25    }
26}
27
28impl From<widestring::NulError<u16>> for Error {
29    fn from(err: widestring::NulError<u16>) -> Error {
30        Error::NulError(err)
31    }
32}
33
34impl From<widestring::MissingNulError<u16>> for Error {
35    fn from(err: widestring::MissingNulError<u16>) -> Error {
36        Error::MissingNulError(err)
37    }
38}