diff options
Diffstat (limited to 'hid/src/error.rs')
-rw-r--r-- | hid/src/error.rs | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/hid/src/error.rs b/hid/src/error.rs deleted file mode 100644 index 367f47f..0000000 --- a/hid/src/error.rs +++ /dev/null @@ -1,62 +0,0 @@ -use std::ffi::CStr; -use libc::c_int; -use sys::*; -use std::{error, fmt}; - -#[derive(Clone, PartialEq, Eq, Debug)] -pub enum Error { - Initialized, - NotFound, - General, - Write, - Read, - String(String), -} - -pub type Result<T> = ::std::result::Result<T, Error>; - -impl From<c_int> for Error { - fn from(value: c_int) -> Error { - match value { - _ => Error::General - } - } -} - -impl From<*mut hid_device> for Error { - fn from(value: *mut hid_device) -> Error { - unsafe { - Error::String(CStr::from_ptr(hid_error(value) as *const _).to_str().unwrap().to_owned()) - } - } -} - -impl fmt::Display for Error { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - f.write_str(error::Error::description(self)) - } -} - -impl error::Error for Error { - fn description(&self) -> &str { - match *self { - Error::Initialized => - "Already initialized.", - - Error::NotFound => - "Device not found.", - - Error::General => - "General error.", - - Error::Write => - "Write error.", - - Error::Read => - "Read error.", - - Error::String(ref err) => - err, - } - } -} |