use crate::common::*;
use crate::AppKit::*;
use crate::AuthenticationServices::*;
use crate::Foundation::*;
ns_enum!(
#[underlying(NSInteger)]
pub enum ASAuthorizationWebBrowserPublicKeyCredentialManagerAuthorizationState {
ASAuthorizationWebBrowserPublicKeyCredentialManagerAuthorizationStateAuthorized = 0,
ASAuthorizationWebBrowserPublicKeyCredentialManagerAuthorizationStateDenied = 1,
ASAuthorizationWebBrowserPublicKeyCredentialManagerAuthorizationStateNotDetermined = 2,
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "AuthenticationServices_ASAuthorizationWebBrowserPublicKeyCredentialManager")]
pub struct ASAuthorizationWebBrowserPublicKeyCredentialManager;
#[cfg(feature = "AuthenticationServices_ASAuthorizationWebBrowserPublicKeyCredentialManager")]
unsafe impl ClassType for ASAuthorizationWebBrowserPublicKeyCredentialManager {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "AuthenticationServices_ASAuthorizationWebBrowserPublicKeyCredentialManager")]
unsafe impl Send for ASAuthorizationWebBrowserPublicKeyCredentialManager {}
#[cfg(feature = "AuthenticationServices_ASAuthorizationWebBrowserPublicKeyCredentialManager")]
unsafe impl Sync for ASAuthorizationWebBrowserPublicKeyCredentialManager {}
#[cfg(feature = "AuthenticationServices_ASAuthorizationWebBrowserPublicKeyCredentialManager")]
unsafe impl NSObjectProtocol for ASAuthorizationWebBrowserPublicKeyCredentialManager {}
extern_methods!(
#[cfg(feature = "AuthenticationServices_ASAuthorizationWebBrowserPublicKeyCredentialManager")]
unsafe impl ASAuthorizationWebBrowserPublicKeyCredentialManager {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method(requestAuthorizationForPublicKeyCredentials:)]
pub unsafe fn requestAuthorizationForPublicKeyCredentials(
&self,
completion_handler: &Block<
(ASAuthorizationWebBrowserPublicKeyCredentialManagerAuthorizationState,),
(),
>,
);
#[cfg(all(
feature = "AuthenticationServices_ASAuthorizationWebBrowserPlatformPublicKeyCredential",
feature = "Foundation_NSArray",
feature = "Foundation_NSString"
))]
#[method(platformCredentialsForRelyingParty:completionHandler:)]
pub unsafe fn platformCredentialsForRelyingParty_completionHandler(
&self,
relying_party: &NSString,
completion_handler: &Block<
(NonNull<NSArray<ASAuthorizationWebBrowserPlatformPublicKeyCredential>>,),
(),
>,
);
#[method(authorizationStateForPlatformCredentials)]
pub unsafe fn authorizationStateForPlatformCredentials(
&self,
) -> ASAuthorizationWebBrowserPublicKeyCredentialManagerAuthorizationState;
}
);
extern_methods!(
#[cfg(feature = "AuthenticationServices_ASAuthorizationWebBrowserPublicKeyCredentialManager")]
unsafe impl ASAuthorizationWebBrowserPublicKeyCredentialManager {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);