1use cue_sdk_sys as ffi;
3use num_traits::FromPrimitive;
4
5#[derive(Debug, Copy, Clone, PartialEq, FromPrimitive)]
7#[repr(u32)]
8pub enum CueSdkError {
9 ServerNotFound = ffi::CorsairError_CE_ServerNotFound,
10 NoControl = ffi::CorsairError_CE_NoControl,
11 ProtocolHandshakeMissing = ffi::CorsairError_CE_ProtocolHandshakeMissing,
12 IncompatibleProtocol = ffi::CorsairError_CE_IncompatibleProtocol,
13 InvalidArguments = ffi::CorsairError_CE_InvalidArguments,
14}
15
16pub(crate) fn get_last_error() -> Option<CueSdkError> {
17 CueSdkError::from_u32(unsafe { cue_sdk_sys::CorsairGetLastError() })
18}
19
20pub type CueSdkErrorResult<T = ()> = Result<T, Option<CueSdkError>>;