use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct ASAuthorizationSecurityKeyPublicKeyCredentialProvider;
unsafe impl ClassType for ASAuthorizationSecurityKeyPublicKeyCredentialProvider {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "ASAuthorizationProvider")]
unsafe impl ASAuthorizationProvider for ASAuthorizationSecurityKeyPublicKeyCredentialProvider {}
unsafe impl NSObjectProtocol for ASAuthorizationSecurityKeyPublicKeyCredentialProvider {}
extern_methods!(
unsafe impl ASAuthorizationSecurityKeyPublicKeyCredentialProvider {
#[method_id(@__retain_semantics Init initWithRelyingPartyIdentifier:)]
pub unsafe fn initWithRelyingPartyIdentifier(
this: Allocated<Self>,
relying_party_identifier: &NSString,
) -> Retained<Self>;
#[cfg(all(
feature = "ASAuthorizationRequest",
feature = "ASAuthorizationSecurityKeyPublicKeyCredentialRegistrationRequest"
))]
#[method_id(@__retain_semantics Other createCredentialRegistrationRequestWithChallenge:displayName:name:userID:)]
pub unsafe fn createCredentialRegistrationRequestWithChallenge_displayName_name_userID(
&self,
challenge: &NSData,
display_name: &NSString,
name: &NSString,
user_id: &NSData,
) -> Retained<ASAuthorizationSecurityKeyPublicKeyCredentialRegistrationRequest>;
#[cfg(all(
feature = "ASAuthorizationRequest",
feature = "ASAuthorizationSecurityKeyPublicKeyCredentialAssertionRequest"
))]
#[method_id(@__retain_semantics Other createCredentialAssertionRequestWithChallenge:)]
pub unsafe fn createCredentialAssertionRequestWithChallenge(
&self,
challenge: &NSData,
) -> Retained<ASAuthorizationSecurityKeyPublicKeyCredentialAssertionRequest>;
#[method_id(@__retain_semantics Other relyingPartyIdentifier)]
pub unsafe fn relyingPartyIdentifier(&self) -> Retained<NSString>;
#[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>;
}
);
extern_methods!(
unsafe impl ASAuthorizationSecurityKeyPublicKeyCredentialProvider {}
);
#[cfg(feature = "ASAuthorizationWebBrowserSecurityKeyPublicKeyCredentialProvider")]
unsafe impl ASAuthorizationWebBrowserSecurityKeyPublicKeyCredentialProvider
for ASAuthorizationSecurityKeyPublicKeyCredentialProvider
{
}