use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct AXHearingDeviceEar(pub NSUInteger);
bitflags::bitflags! {
impl AXHearingDeviceEar: NSUInteger {
#[doc(alias = "AXHearingDeviceEarNone")]
const None = 0;
#[doc(alias = "AXHearingDeviceEarLeft")]
const Left = 1<<1;
#[doc(alias = "AXHearingDeviceEarRight")]
const Right = 1<<2;
#[doc(alias = "AXHearingDeviceEarBoth")]
const Both = AXHearingDeviceEar::Left.0|AXHearingDeviceEar::Right.0;
}
}
unsafe impl Encode for AXHearingDeviceEar {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for AXHearingDeviceEar {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern "C-unwind" {
pub fn AXMFiHearingDeviceStreamingEar() -> AXHearingDeviceEar;
}
extern "C" {
pub static AXMFiHearingDeviceStreamingEarDidChangeNotification: &'static NSNotificationName;
}
#[inline]
pub unsafe extern "C-unwind" fn AXSupportsBidirectionalAXMFiHearingDeviceStreaming() -> bool {
extern "C-unwind" {
fn AXSupportsBidirectionalAXMFiHearingDeviceStreaming() -> Bool;
}
unsafe { AXSupportsBidirectionalAXMFiHearingDeviceStreaming() }.as_bool()
}
#[inline]
pub unsafe extern "C-unwind" fn AXMFiHearingDevicePairedUUIDs() -> Retained<NSArray<NSUUID>> {
extern "C-unwind" {
fn AXMFiHearingDevicePairedUUIDs() -> *mut NSArray<NSUUID>;
}
let ret = unsafe { AXMFiHearingDevicePairedUUIDs() };
unsafe { Retained::retain_autoreleased(ret) }
.expect("function was marked as returning non-null, but actually returned NULL")
}
extern "C" {
pub static AXMFiHearingDevicePairedUUIDsDidChangeNotification: &'static NSNotificationName;
}