use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct CXCallUpdate;
);
extern_conformance!(
unsafe impl NSCopying for CXCallUpdate {}
);
unsafe impl CopyingHelper for CXCallUpdate {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for CXCallUpdate {}
);
impl CXCallUpdate {
extern_methods!(
#[cfg(feature = "CXHandle")]
#[unsafe(method(remoteHandle))]
#[unsafe(method_family = none)]
pub unsafe fn remoteHandle(&self) -> Option<Retained<CXHandle>>;
#[cfg(feature = "CXHandle")]
#[unsafe(method(setRemoteHandle:))]
#[unsafe(method_family = none)]
pub unsafe fn setRemoteHandle(&self, remote_handle: Option<&CXHandle>);
#[unsafe(method(localizedCallerName))]
#[unsafe(method_family = none)]
pub unsafe fn localizedCallerName(&self) -> Option<Retained<NSString>>;
#[unsafe(method(setLocalizedCallerName:))]
#[unsafe(method_family = none)]
pub unsafe fn setLocalizedCallerName(&self, localized_caller_name: Option<&NSString>);
#[unsafe(method(supportsHolding))]
#[unsafe(method_family = none)]
pub unsafe fn supportsHolding(&self) -> bool;
#[unsafe(method(setSupportsHolding:))]
#[unsafe(method_family = none)]
pub unsafe fn setSupportsHolding(&self, supports_holding: bool);
#[unsafe(method(supportsGrouping))]
#[unsafe(method_family = none)]
pub unsafe fn supportsGrouping(&self) -> bool;
#[unsafe(method(setSupportsGrouping:))]
#[unsafe(method_family = none)]
pub unsafe fn setSupportsGrouping(&self, supports_grouping: bool);
#[unsafe(method(supportsUngrouping))]
#[unsafe(method_family = none)]
pub unsafe fn supportsUngrouping(&self) -> bool;
#[unsafe(method(setSupportsUngrouping:))]
#[unsafe(method_family = none)]
pub unsafe fn setSupportsUngrouping(&self, supports_ungrouping: bool);
#[unsafe(method(supportsDTMF))]
#[unsafe(method_family = none)]
pub unsafe fn supportsDTMF(&self) -> bool;
#[unsafe(method(setSupportsDTMF:))]
#[unsafe(method_family = none)]
pub unsafe fn setSupportsDTMF(&self, supports_dtmf: bool);
#[unsafe(method(hasVideo))]
#[unsafe(method_family = none)]
pub unsafe fn hasVideo(&self) -> bool;
#[unsafe(method(setHasVideo:))]
#[unsafe(method_family = none)]
pub unsafe fn setHasVideo(&self, has_video: bool);
);
}
impl CXCallUpdate {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}