use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[unsafe(super(HMEvent, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "HMEvent")]
pub struct HMPresenceEvent;
);
#[cfg(feature = "HMEvent")]
unsafe impl Send for HMPresenceEvent {}
#[cfg(feature = "HMEvent")]
unsafe impl Sync for HMPresenceEvent {}
#[cfg(feature = "HMEvent")]
extern_conformance!(
unsafe impl NSCopying for HMPresenceEvent {}
);
#[cfg(feature = "HMEvent")]
unsafe impl CopyingHelper for HMPresenceEvent {
type Result = Self;
}
#[cfg(feature = "HMEvent")]
extern_conformance!(
unsafe impl NSMutableCopying for HMPresenceEvent {}
);
#[cfg(feature = "HMEvent")]
unsafe impl MutableCopyingHelper for HMPresenceEvent {
type Result = HMMutablePresenceEvent;
}
#[cfg(feature = "HMEvent")]
extern_conformance!(
unsafe impl NSObjectProtocol for HMPresenceEvent {}
);
#[cfg(feature = "HMEvent")]
impl HMPresenceEvent {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[cfg(feature = "HMPresenceEventDefines")]
#[unsafe(method(initWithPresenceEventType:presenceUserType:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithPresenceEventType_presenceUserType(
this: Allocated<Self>,
presence_event_type: HMPresenceEventType,
presence_user_type: HMPresenceEventUserType,
) -> Retained<Self>;
#[cfg(feature = "HMPresenceEventDefines")]
#[unsafe(method(presenceEventType))]
#[unsafe(method_family = none)]
pub unsafe fn presenceEventType(&self) -> HMPresenceEventType;
#[cfg(feature = "HMPresenceEventDefines")]
#[unsafe(method(presenceUserType))]
#[unsafe(method_family = none)]
pub unsafe fn presenceUserType(&self) -> HMPresenceEventUserType;
);
}
#[cfg(feature = "HMEvent")]
impl HMPresenceEvent {
extern_methods!(
#[deprecated = "HMEvent is abstract"]
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(HMPresenceEvent, HMEvent, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "HMEvent")]
pub struct HMMutablePresenceEvent;
);
#[cfg(feature = "HMEvent")]
unsafe impl Send for HMMutablePresenceEvent {}
#[cfg(feature = "HMEvent")]
unsafe impl Sync for HMMutablePresenceEvent {}
#[cfg(feature = "HMEvent")]
extern_conformance!(
unsafe impl NSCopying for HMMutablePresenceEvent {}
);
#[cfg(feature = "HMEvent")]
unsafe impl CopyingHelper for HMMutablePresenceEvent {
type Result = HMPresenceEvent;
}
#[cfg(feature = "HMEvent")]
extern_conformance!(
unsafe impl NSMutableCopying for HMMutablePresenceEvent {}
);
#[cfg(feature = "HMEvent")]
unsafe impl MutableCopyingHelper for HMMutablePresenceEvent {
type Result = Self;
}
#[cfg(feature = "HMEvent")]
extern_conformance!(
unsafe impl NSObjectProtocol for HMMutablePresenceEvent {}
);
#[cfg(feature = "HMEvent")]
impl HMMutablePresenceEvent {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[cfg(feature = "HMPresenceEventDefines")]
#[unsafe(method(presenceEventType))]
#[unsafe(method_family = none)]
pub unsafe fn presenceEventType(&self) -> HMPresenceEventType;
#[cfg(feature = "HMPresenceEventDefines")]
#[unsafe(method(setPresenceEventType:))]
#[unsafe(method_family = none)]
pub unsafe fn setPresenceEventType(&self, presence_event_type: HMPresenceEventType);
#[cfg(feature = "HMPresenceEventDefines")]
#[unsafe(method(presenceUserType))]
#[unsafe(method_family = none)]
pub unsafe fn presenceUserType(&self) -> HMPresenceEventUserType;
#[cfg(feature = "HMPresenceEventDefines")]
#[unsafe(method(setPresenceUserType:))]
#[unsafe(method_family = none)]
pub unsafe fn setPresenceUserType(&self, presence_user_type: HMPresenceEventUserType);
);
}
#[cfg(feature = "HMEvent")]
impl HMMutablePresenceEvent {
extern_methods!(
#[cfg(feature = "HMPresenceEventDefines")]
#[unsafe(method(initWithPresenceEventType:presenceUserType:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithPresenceEventType_presenceUserType(
this: Allocated<Self>,
presence_event_type: HMPresenceEventType,
presence_user_type: HMPresenceEventUserType,
) -> Retained<Self>;
);
}
#[cfg(feature = "HMEvent")]
impl HMMutablePresenceEvent {
extern_methods!(
#[deprecated = "HMEvent is abstract"]
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}