use objc2::__framework_prelude::*;
use objc2_app_kit::*;
use objc2_foundation::*;
use crate::*;
pub type ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransport = NSString;
extern "C" {
pub static ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransportUSB:
&'static ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransport;
}
extern "C" {
pub static ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransportNFC:
&'static ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransport;
}
extern "C" {
pub static ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransportBluetooth:
&'static ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransport;
}
extern "C" {
pub fn ASAuthorizationAllSupportedPublicKeyCredentialDescriptorTransports(
) -> NonNull<NSArray<ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransport>>;
}
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor;
unsafe impl ClassType for ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "ASAuthorizationPublicKeyCredentialDescriptor")]
unsafe impl ASAuthorizationPublicKeyCredentialDescriptor
for ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor
{
}
unsafe impl NSCoding for ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor {}
unsafe impl NSCopying for ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor {}
unsafe impl NSObjectProtocol for ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor {}
unsafe impl NSSecureCoding for ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor {}
extern_methods!(
unsafe impl ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor {
#[method_id(@__retain_semantics Init initWithCredentialID:transports:)]
pub unsafe fn initWithCredentialID_transports(
this: Allocated<Self>,
credential_id: &NSData,
allowed_transports: &NSArray<
ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransport,
>,
) -> Id<Self>;
#[method_id(@__retain_semantics Other transports)]
pub unsafe fn transports(
&self,
) -> Id<NSArray<ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransport>>;
#[method(setTransports:)]
pub unsafe fn setTransports(
&self,
transports: &NSArray<ASAuthorizationSecurityKeyPublicKeyCredentialDescriptorTransport>,
);
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
}
);