objc2_authentication_services/generated/
ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10/// [Apple's documentation](https://developer.apple.com/documentation/authenticationservices/asauthorizationplatformpublickeycredentialregistrationrequeststyle?language=objc)
11// NS_ENUM
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct ASAuthorizationPlatformPublicKeyCredentialRegistrationRequestStyle(pub NSInteger);
15impl ASAuthorizationPlatformPublicKeyCredentialRegistrationRequestStyle {
16    /// Perform a request using the standard presentation style. This is the default style.
17    #[doc(alias = "ASAuthorizationPlatformPublicKeyCredentialRegistrationRequestStyleStandard")]
18    pub const Standard: Self = Self(0);
19    /// Perform a conditional request. This style of request is meant to opportunistically add passkeys to existing
20    /// password-based accounts, at the discretion of the user's credential manager. It should be performed
21    /// shortly after a user has signed in with a password. If the user is using a password and passkey manager,
22    /// and certain internal conditions of that credential manager are met (e.g. the user signed in recently with a
23    /// matching password-based account and does not yet have a passkey for this account), then this request
24    /// may proceed automatically, without further user interaction. If any of the internal conditions are not met,
25    /// this request will return an error without showing any UI to the user, and may be retried the next time they
26    /// sign in.
27    #[doc(alias = "ASAuthorizationPlatformPublicKeyCredentialRegistrationRequestStyleConditional")]
28    pub const Conditional: Self = Self(1);
29}
30
31unsafe impl Encode for ASAuthorizationPlatformPublicKeyCredentialRegistrationRequestStyle {
32    const ENCODING: Encoding = NSInteger::ENCODING;
33}
34
35unsafe impl RefEncode for ASAuthorizationPlatformPublicKeyCredentialRegistrationRequestStyle {
36    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
37}
38
39extern_class!(
40    /// [Apple's documentation](https://developer.apple.com/documentation/authenticationservices/asauthorizationplatformpublickeycredentialregistrationrequest?language=objc)
41    #[unsafe(super(ASAuthorizationRequest, NSObject))]
42    #[derive(Debug, PartialEq, Eq, Hash)]
43    #[cfg(feature = "ASAuthorizationRequest")]
44    pub struct ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest;
45);
46
47#[cfg(all(
48    feature = "ASAuthorizationPublicKeyCredentialRegistrationRequest",
49    feature = "ASAuthorizationRequest"
50))]
51extern_conformance!(
52    unsafe impl ASAuthorizationPublicKeyCredentialRegistrationRequest
53        for ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest
54    {
55    }
56);
57
58#[cfg(feature = "ASAuthorizationRequest")]
59extern_conformance!(
60    unsafe impl NSCoding for ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest {}
61);
62
63#[cfg(feature = "ASAuthorizationRequest")]
64extern_conformance!(
65    unsafe impl NSCopying for ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest {}
66);
67
68#[cfg(feature = "ASAuthorizationRequest")]
69unsafe impl CopyingHelper for ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest {
70    type Result = Self;
71}
72
73#[cfg(feature = "ASAuthorizationRequest")]
74extern_conformance!(
75    unsafe impl NSObjectProtocol for ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest {}
76);
77
78#[cfg(feature = "ASAuthorizationRequest")]
79extern_conformance!(
80    unsafe impl NSSecureCoding for ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest {}
81);
82
83#[cfg(feature = "ASAuthorizationRequest")]
84impl ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest {
85    extern_methods!(
86        #[unsafe(method(new))]
87        #[unsafe(method_family = new)]
88        pub unsafe fn new() -> Retained<Self>;
89
90        #[unsafe(method(init))]
91        #[unsafe(method_family = init)]
92        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
93
94        #[cfg(feature = "ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput")]
95        #[unsafe(method(largeBlob))]
96        #[unsafe(method_family = none)]
97        pub unsafe fn largeBlob(
98            &self,
99        ) -> Option<Retained<ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput>>;
100
101        #[cfg(feature = "ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput")]
102        /// Setter for [`largeBlob`][Self::largeBlob].
103        #[unsafe(method(setLargeBlob:))]
104        #[unsafe(method_family = none)]
105        pub unsafe fn setLargeBlob(
106            &self,
107            large_blob: Option<&ASAuthorizationPublicKeyCredentialLargeBlobRegistrationInput>,
108        );
109
110        #[cfg(feature = "ASAuthorizationPublicKeyCredentialPRFRegistrationInput")]
111        #[unsafe(method(prf))]
112        #[unsafe(method_family = none)]
113        pub unsafe fn prf(
114            &self,
115        ) -> Option<Retained<ASAuthorizationPublicKeyCredentialPRFRegistrationInput>>;
116
117        #[cfg(feature = "ASAuthorizationPublicKeyCredentialPRFRegistrationInput")]
118        /// Setter for [`prf`][Self::prf].
119        #[unsafe(method(setPrf:))]
120        #[unsafe(method_family = none)]
121        pub unsafe fn setPrf(
122            &self,
123            prf: Option<&ASAuthorizationPublicKeyCredentialPRFRegistrationInput>,
124        );
125
126        #[unsafe(method(requestStyle))]
127        #[unsafe(method_family = none)]
128        pub unsafe fn requestStyle(
129            &self,
130        ) -> ASAuthorizationPlatformPublicKeyCredentialRegistrationRequestStyle;
131
132        /// Setter for [`requestStyle`][Self::requestStyle].
133        #[unsafe(method(setRequestStyle:))]
134        #[unsafe(method_family = none)]
135        pub unsafe fn setRequestStyle(
136            &self,
137            request_style: ASAuthorizationPlatformPublicKeyCredentialRegistrationRequestStyle,
138        );
139    );
140}
141
142#[cfg(feature = "ASAuthorizationRequest")]
143impl ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest {
144    extern_methods!();
145}
146
147#[cfg(all(
148    feature = "ASAuthorizationRequest",
149    feature = "ASAuthorizationWebBrowserPlatformPublicKeyCredentialRegistrationRequest"
150))]
151extern_conformance!(
152    unsafe impl ASAuthorizationWebBrowserPlatformPublicKeyCredentialRegistrationRequest
153        for ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest
154    {
155    }
156);