use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[unsafe(super(ASAuthorizationRequest, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "ASAuthorizationRequest")]
pub struct ASAuthorizationPlatformPublicKeyCredentialAssertionRequest;
);
#[cfg(all(
feature = "ASAuthorizationPublicKeyCredentialAssertionRequest",
feature = "ASAuthorizationRequest"
))]
extern_conformance!(
unsafe impl ASAuthorizationPublicKeyCredentialAssertionRequest
for ASAuthorizationPlatformPublicKeyCredentialAssertionRequest
{
}
);
#[cfg(feature = "ASAuthorizationRequest")]
extern_conformance!(
unsafe impl NSCoding for ASAuthorizationPlatformPublicKeyCredentialAssertionRequest {}
);
#[cfg(feature = "ASAuthorizationRequest")]
extern_conformance!(
unsafe impl NSCopying for ASAuthorizationPlatformPublicKeyCredentialAssertionRequest {}
);
#[cfg(feature = "ASAuthorizationRequest")]
unsafe impl CopyingHelper for ASAuthorizationPlatformPublicKeyCredentialAssertionRequest {
type Result = Self;
}
#[cfg(feature = "ASAuthorizationRequest")]
extern_conformance!(
unsafe impl NSObjectProtocol for ASAuthorizationPlatformPublicKeyCredentialAssertionRequest {}
);
#[cfg(feature = "ASAuthorizationRequest")]
extern_conformance!(
unsafe impl NSSecureCoding for ASAuthorizationPlatformPublicKeyCredentialAssertionRequest {}
);
#[cfg(feature = "ASAuthorizationRequest")]
impl ASAuthorizationPlatformPublicKeyCredentialAssertionRequest {
extern_methods!(
#[cfg(feature = "ASAuthorizationPlatformPublicKeyCredentialDescriptor")]
#[unsafe(method(allowedCredentials))]
#[unsafe(method_family = none)]
pub unsafe fn allowedCredentials(
&self,
) -> Retained<NSArray<ASAuthorizationPlatformPublicKeyCredentialDescriptor>>;
#[cfg(feature = "ASAuthorizationPlatformPublicKeyCredentialDescriptor")]
#[unsafe(method(setAllowedCredentials:))]
#[unsafe(method_family = none)]
pub unsafe fn setAllowedCredentials(
&self,
allowed_credentials: &NSArray<ASAuthorizationPlatformPublicKeyCredentialDescriptor>,
);
#[cfg(feature = "ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput")]
#[unsafe(method(largeBlob))]
#[unsafe(method_family = none)]
pub unsafe fn largeBlob(
&self,
) -> Option<Retained<ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput>>;
#[cfg(feature = "ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput")]
#[unsafe(method(setLargeBlob:))]
#[unsafe(method_family = none)]
pub unsafe fn setLargeBlob(
&self,
large_blob: Option<&ASAuthorizationPublicKeyCredentialLargeBlobAssertionInput>,
);
#[cfg(feature = "ASAuthorizationPublicKeyCredentialPRFAssertionInput")]
#[unsafe(method(prf))]
#[unsafe(method_family = none)]
pub unsafe fn prf(
&self,
) -> Option<Retained<ASAuthorizationPublicKeyCredentialPRFAssertionInput>>;
#[cfg(feature = "ASAuthorizationPublicKeyCredentialPRFAssertionInput")]
#[unsafe(method(setPrf:))]
#[unsafe(method_family = none)]
pub unsafe fn setPrf(
&self,
prf: Option<&ASAuthorizationPublicKeyCredentialPRFAssertionInput>,
);
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
);
}
#[cfg(feature = "ASAuthorizationRequest")]
impl ASAuthorizationPlatformPublicKeyCredentialAssertionRequest {
extern_methods!();
}
#[cfg(all(
feature = "ASAuthorizationRequest",
feature = "ASAuthorizationWebBrowserExternallyAuthenticatableRequest"
))]
extern_conformance!(
unsafe impl ASAuthorizationWebBrowserExternallyAuthenticatableRequest
for ASAuthorizationPlatformPublicKeyCredentialAssertionRequest
{
}
);
#[cfg(feature = "ASAuthorizationRequest")]
impl ASAuthorizationPlatformPublicKeyCredentialAssertionRequest {
extern_methods!();
}
#[cfg(all(
feature = "ASAuthorizationRequest",
feature = "ASAuthorizationWebBrowserPlatformPublicKeyCredentialAssertionRequest"
))]
extern_conformance!(
unsafe impl ASAuthorizationWebBrowserPlatformPublicKeyCredentialAssertionRequest
for ASAuthorizationPlatformPublicKeyCredentialAssertionRequest
{
}
);