diff --git a/libimagstore/src/hook/error.rs b/libimagstore/src/hook/error.rs index afe9ef07..77095844 100644 --- a/libimagstore/src/hook/error.rs +++ b/libimagstore/src/hook/error.rs @@ -1,10 +1,23 @@ -generate_error_module!( - generate_error_types!(HookError, HookErrorKind, - HookExecutionError => "Hook exec error", - AccessTypeViolation => "Hook access type violation" - ); +use std::convert::Into; +generate_error_imports!(); + +generate_custom_error_types!(HookError, HookErrorKind, CustomData, + HookExecutionError => "Hook exec error", + AccessTypeViolation => "Hook access type violation" ); -pub use self::error::HookError; -pub use self::error::HookErrorKind; +#[derive(Debug, Clone, Eq, PartialEq, Ord, PartialOrd, Copy)] +pub struct CustomData { + aborting: bool, +} +impl HookError { + + pub fn is_aborting(&self) -> bool { + match self.custom_data { + Some(b) => b.aborting, + None => true + } + } + +}