use crate::ffi::*;
pub struct Fence {
raw: ObjcId,
}
impl Fence {
pub(crate) fn from_raw(raw: ObjcId) -> Self {
Fence { raw }
}
pub fn as_raw(&self) -> ObjcId {
self.raw
}
}
impl Drop for Fence {
#[mutants::skip] fn drop(&mut self) {
unsafe { release(self.raw) };
}
}
pub struct Event {
raw: ObjcId,
}
impl Event {
pub(crate) fn from_raw(raw: ObjcId) -> Self {
Event { raw }
}
pub fn as_raw(&self) -> ObjcId {
self.raw
}
}
impl Drop for Event {
#[mutants::skip] fn drop(&mut self) {
unsafe { release(self.raw) };
}
}
pub struct SharedEvent {
raw: ObjcId,
}
impl SharedEvent {
pub(crate) fn from_raw(raw: ObjcId) -> Self {
SharedEvent { raw }
}
#[mutants::skip] pub fn signaled_value(&self) -> u64 {
unsafe { msg0_u64(self.raw, SEL_signaledValue()) }
}
pub fn as_raw(&self) -> ObjcId {
self.raw
}
}
impl Drop for SharedEvent {
#[mutants::skip] fn drop(&mut self) {
unsafe { release(self.raw) };
}
}