use super::*;
#[derive(CustomDebug, Data, Default, New)]
pub struct HookContextInner {
#[debug(skip)]
#[get]
#[get_mut]
#[set]
pub hooks: Vec<Box<dyn Any>>,
#[get(type(copy))]
#[get_mut]
#[set]
pub arm_changed: usize,
#[get(type(copy))]
#[get_mut]
#[set]
pub hook_index: usize,
#[debug(skip)]
#[get]
#[get_mut]
#[set]
pub cleanups: Vec<Box<dyn FnOnce()>>,
}
#[derive(CustomDebug, Data, New)]
pub struct HookContext {
#[debug(skip)]
#[get]
#[get_mut]
#[set]
pub inner: Rc<RefCell<HookContextInner>>,
}
#[derive(Clone, Copy, Data, Debug, Default, Eq, Hash, New, Ord, PartialEq, PartialOrd)]
pub struct IntervalHandle {
#[get(type(copy))]
#[get_mut]
#[set]
pub(crate) interval_id: i32,
}