cpal/asio-sys/src/errors.rs

33 lines
983 B
Rust
Raw Normal View History

2018-04-22 12:07:47 +00:00
use std::error::Error;
use std::fmt;
#[derive(Debug)]
pub enum ASIOError {
NoResult(String),
BufferError(String),
DriverLoadError,
TypeError,
}
impl fmt::Display for ASIOError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
ASIOError::NoResult(ref e) => write!(f, "Driver {} not found", e),
ASIOError::BufferError(ref e) => write!(f, "Buffer Error: {}", e),
ASIOError::DriverLoadError => write!(f, "Couldn't load the driver"),
ASIOError::TypeError => write!(f, "Couldn't convert sample type"),
}
}
}
impl Error for ASIOError {
fn description(&self) -> &str {
match *self {
ASIOError::NoResult(_) => "Couln't find driver",
ASIOError::BufferError(_) => "Error creating the buffer",
ASIOError::DriverLoadError => "Error loading the driver",
ASIOError::TypeError => "Error getting sample type",
}
}
}