Skip to main content

libczirw_sys/
error.rs

1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum Error {
5    #[error(transparent)]
6    Utf8(#[from] std::str::Utf8Error),
7    #[error(transparent)]
8    FromUtf8(#[from] std::string::FromUtf8Error),
9    #[error(transparent)]
10    FromBytesUntilNull(#[from] std::ffi::FromBytesUntilNulError),
11    #[error(transparent)]
12    Nul(#[from] std::ffi::NulError),
13
14    #[error("LibCZIAPI Ok")]
15    LibCziApiOK,
16    #[error("LibCZIAPI invalid argument")]
17    LibCziApiInvalidArgument,
18    #[error("LibCZIAPI invalid handle")]
19    LibCziApiInvalidHandle,
20    #[error("LibCZIAPI out of memory")]
21    LibCziApiOutOfMemory,
22    #[error("LibCZIAPI index out of range")]
23    LibCziApiIndexOutOfRange,
24    #[error("LibCZIAPI lock-unlock semantic violated")]
25    LibCziApiLockUnlockSemanticViolated,
26    #[error("LibCZIAPI unspecified error")]
27    LibCziApiUnspecifiedError,
28    #[error("LibCZIAPI unknown error code: {0}")]
29    LibCziApiUnknownError(usize),
30    #[error("Unknown dimension: {0}")]
31    UnknownDimension(String),
32    #[error("Unknown data type: {0}")]
33    UnknownDataType(i32),
34    #[error("Unknown pixel type: {0}")]
35    UnknownPixelType(i32),
36}