use nom7::error::{Error, ErrorKind, ParseError};
use nom7::ErrorConvert;
#[derive(Debug, PartialEq, Eq)]
pub enum RdpError {
UnimplementedLengthDeterminant,
NotX224Class0Error,
NomError(ErrorKind),
}
impl<I> ParseError<I> for RdpError {
fn from_error_kind(_input: I, kind: ErrorKind) -> Self {
RdpError::NomError(kind)
}
fn append(_input: I, kind: ErrorKind, _other: Self) -> Self {
RdpError::NomError(kind)
}
}
impl From<Error<&[u8]>> for RdpError {
fn from(e: Error<&[u8]>) -> Self {
RdpError::NomError(e.code)
}
}
impl ErrorConvert<RdpError> for ((&[u8], usize), ErrorKind) {
fn convert(self) -> RdpError {
RdpError::NomError(self.1)
}
}