use crate::*;
#[derive(CustomDebug, Data, New)]
pub(crate) struct HandlerSlot {
#[debug(skip)]
#[get(pub(crate))]
#[set(pub(crate))]
pub(crate) handler: Option<NativeEventHandler>,
}
#[derive(CustomDebug, Data, New)]
pub(crate) struct SignalUpdateSlot {
#[debug(skip)]
#[get(skip)]
#[set(pub(crate))]
pub(crate) callback: Option<Box<dyn FnMut()>>,
#[get(type(copy))]
#[set(pub(crate))]
pub(crate) removed: bool,
#[get(type(copy))]
#[set(pub(crate))]
pub(crate) dirty: bool,
}
#[derive(Data, Debug, New)]
pub(crate) struct HandlerRegistryCell(
#[get(pub(crate))]
#[set(pub(crate))]
pub(crate) UnsafeCell<Option<HandlerRegistryMap>>,
);
#[derive(Data, Debug, New)]
pub(crate) struct DelegatedEventsCell(
#[get(pub(crate))]
#[set(pub(crate))]
pub(crate) UnsafeCell<Option<HashSet<&'static str>>>,
);
#[derive(Data, Debug, New)]
pub(crate) struct SignalUpdateRegistryCell(
#[get(pub(crate))]
#[set(pub(crate))]
pub(crate) UnsafeCell<Option<HashMap<usize, SignalUpdateEntry>>>,
);