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 ASPasskeyCredentialRequest;
);
#[cfg(feature = "ASCredentialRequest")]
extern_conformance!(
unsafe impl ASCredentialRequest for ASPasskeyCredentialRequest {}
);
extern_conformance!(
unsafe impl NSCoding for ASPasskeyCredentialRequest {}
);
extern_conformance!(
unsafe impl NSCopying for ASPasskeyCredentialRequest {}
);
unsafe impl CopyingHelper for ASPasskeyCredentialRequest {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for ASPasskeyCredentialRequest {}
);
extern_conformance!(
unsafe impl NSSecureCoding for ASPasskeyCredentialRequest {}
);
impl ASPasskeyCredentialRequest {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[cfg(all(
feature = "ASAuthorizationPublicKeyCredentialConstants",
feature = "ASPasskeyCredentialIdentity"
))]
#[unsafe(method(initWithCredentialIdentity:clientDataHash:userVerificationPreference:supportedAlgorithms:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithCredentialIdentity_clientDataHash_userVerificationPreference_supportedAlgorithms(
this: Allocated<Self>,
credential_identity: &ASPasskeyCredentialIdentity,
client_data_hash: &NSData,
user_verification_preference: &ASAuthorizationPublicKeyCredentialUserVerificationPreference,
supported_algorithms: &NSArray<NSNumber>,
) -> Retained<Self>;
#[cfg(all(
feature = "ASAuthorizationPublicKeyCredentialConstants",
feature = "ASPasskeyAssertionCredentialExtensionInput",
feature = "ASPasskeyCredentialIdentity"
))]
#[unsafe(method(initWithCredentialIdentity:clientDataHash:userVerificationPreference:supportedAlgorithms:assertionExtensionInput:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithCredentialIdentity_clientDataHash_userVerificationPreference_supportedAlgorithms_assertionExtensionInput(
this: Allocated<Self>,
credential_identity: &ASPasskeyCredentialIdentity,
client_data_hash: &NSData,
user_verification_preference: &ASAuthorizationPublicKeyCredentialUserVerificationPreference,
supported_algorithms: &NSArray<NSNumber>,
assertion_extension_input: Option<&ASPasskeyAssertionCredentialExtensionInput>,
) -> Retained<Self>;
#[cfg(all(
feature = "ASAuthorizationPublicKeyCredentialConstants",
feature = "ASPasskeyCredentialIdentity",
feature = "ASPasskeyRegistrationCredentialExtensionInput"
))]
#[unsafe(method(initWithCredentialIdentity:clientDataHash:userVerificationPreference:supportedAlgorithms:registrationExtensionInput:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithCredentialIdentity_clientDataHash_userVerificationPreference_supportedAlgorithms_registrationExtensionInput(
this: Allocated<Self>,
credential_identity: &ASPasskeyCredentialIdentity,
client_data_hash: &NSData,
user_verification_preference: &ASAuthorizationPublicKeyCredentialUserVerificationPreference,
supported_algorithms: &NSArray<NSNumber>,
registration_extension_input: Option<&ASPasskeyRegistrationCredentialExtensionInput>,
) -> Retained<Self>;
#[cfg(all(
feature = "ASAuthorizationPublicKeyCredentialConstants",
feature = "ASPasskeyCredentialIdentity"
))]
#[unsafe(method(requestWithCredentialIdentity:clientDataHash:userVerificationPreference:supportedAlgorithms:))]
#[unsafe(method_family = none)]
pub unsafe fn requestWithCredentialIdentity_clientDataHash_userVerificationPreference_supportedAlgorithms(
credential_identity: &ASPasskeyCredentialIdentity,
client_data_hash: &NSData,
user_verification_preference: &ASAuthorizationPublicKeyCredentialUserVerificationPreference,
supported_algorithms: &NSArray<NSNumber>,
) -> Retained<Self>;
#[unsafe(method(clientDataHash))]
#[unsafe(method_family = none)]
pub unsafe fn clientDataHash(&self) -> Retained<NSData>;
#[cfg(feature = "ASAuthorizationPublicKeyCredentialConstants")]
#[unsafe(method(userVerificationPreference))]
#[unsafe(method_family = none)]
pub unsafe fn userVerificationPreference(
&self,
) -> Retained<ASAuthorizationPublicKeyCredentialUserVerificationPreference>;
#[cfg(feature = "ASAuthorizationPublicKeyCredentialConstants")]
#[unsafe(method(setUserVerificationPreference:))]
#[unsafe(method_family = none)]
pub unsafe fn setUserVerificationPreference(
&self,
user_verification_preference: &ASAuthorizationPublicKeyCredentialUserVerificationPreference,
);
#[unsafe(method(supportedAlgorithms))]
#[unsafe(method_family = none)]
pub unsafe fn supportedAlgorithms(&self) -> Retained<NSArray<NSNumber>>;
#[cfg(feature = "ASAuthorizationPlatformPublicKeyCredentialDescriptor")]
#[unsafe(method(excludedCredentials))]
#[unsafe(method_family = none)]
pub unsafe fn excludedCredentials(
&self,
) -> Option<Retained<NSArray<ASAuthorizationPlatformPublicKeyCredentialDescriptor>>>;
#[cfg(feature = "ASPasskeyAssertionCredentialExtensionInput")]
#[unsafe(method(assertionExtensionInput))]
#[unsafe(method_family = none)]
pub unsafe fn assertionExtensionInput(
&self,
) -> Option<Retained<ASPasskeyAssertionCredentialExtensionInput>>;
#[cfg(feature = "ASPasskeyRegistrationCredentialExtensionInput")]
#[unsafe(method(registrationExtensionInput))]
#[unsafe(method_family = none)]
pub unsafe fn registrationExtensionInput(
&self,
) -> Option<Retained<ASPasskeyRegistrationCredentialExtensionInput>>;
);
}
impl ASPasskeyCredentialRequest {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}