use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_protocol!(
pub unsafe trait CXCallDirectoryExtensionContextDelegate: NSObjectProtocol {
#[method(requestFailedForExtensionContext:withError:)]
unsafe fn requestFailedForExtensionContext_withError(
&self,
extension_context: &CXCallDirectoryExtensionContext,
error: &NSError,
);
}
unsafe impl ProtocolType for dyn CXCallDirectoryExtensionContextDelegate {}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct CXCallDirectoryExtensionContext;
unsafe impl ClassType for CXCallDirectoryExtensionContext {
#[inherits(NSObject)]
type Super = NSExtensionContext;
type Mutability = InteriorMutable;
}
);
unsafe impl NSObjectProtocol for CXCallDirectoryExtensionContext {}
extern_methods!(
unsafe impl CXCallDirectoryExtensionContext {
#[method_id(@__retain_semantics Other delegate)]
pub unsafe fn delegate(
&self,
) -> Option<Retained<ProtocolObject<dyn CXCallDirectoryExtensionContextDelegate>>>;
#[method(setDelegate:)]
pub unsafe fn setDelegate(
&self,
delegate: Option<&ProtocolObject<dyn CXCallDirectoryExtensionContextDelegate>>,
);
#[method(isIncremental)]
pub unsafe fn isIncremental(&self) -> bool;
#[cfg(feature = "CXCallDirectory")]
#[method(addBlockingEntryWithNextSequentialPhoneNumber:)]
pub unsafe fn addBlockingEntryWithNextSequentialPhoneNumber(
&self,
phone_number: CXCallDirectoryPhoneNumber,
);
#[cfg(feature = "CXCallDirectory")]
#[method(removeBlockingEntryWithPhoneNumber:)]
pub unsafe fn removeBlockingEntryWithPhoneNumber(
&self,
phone_number: CXCallDirectoryPhoneNumber,
);
#[method(removeAllBlockingEntries)]
pub unsafe fn removeAllBlockingEntries(&self);
#[cfg(feature = "CXCallDirectory")]
#[method(addIdentificationEntryWithNextSequentialPhoneNumber:label:)]
pub unsafe fn addIdentificationEntryWithNextSequentialPhoneNumber_label(
&self,
phone_number: CXCallDirectoryPhoneNumber,
label: &NSString,
);
#[cfg(feature = "CXCallDirectory")]
#[method(removeIdentificationEntryWithPhoneNumber:)]
pub unsafe fn removeIdentificationEntryWithPhoneNumber(
&self,
phone_number: CXCallDirectoryPhoneNumber,
);
#[method(removeAllIdentificationEntries)]
pub unsafe fn removeAllIdentificationEntries(&self);
#[cfg(feature = "block2")]
#[method(completeRequestWithCompletionHandler:)]
pub unsafe fn completeRequestWithCompletionHandler(
&self,
completion: Option<&block2::Block<dyn Fn(Bool)>>,
);
#[cfg(feature = "block2")]
#[method(completeRequestReturningItems:completionHandler:)]
pub unsafe fn completeRequestReturningItems_completionHandler(
&self,
items: Option<&NSArray>,
completion_handler: Option<&block2::Block<dyn Fn(Bool)>>,
);
}
);
extern_methods!(
unsafe impl CXCallDirectoryExtensionContext {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Retained<Self>;
}
);