objc2_authentication_services/generated/
ASPasskeyCredentialRequest.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
10extern_class!(
11    /// [Apple's documentation](https://developer.apple.com/documentation/authenticationservices/aspasskeycredentialrequest?language=objc)
12    #[unsafe(super(NSObject))]
13    #[derive(Debug, PartialEq, Eq, Hash)]
14    pub struct ASPasskeyCredentialRequest;
15);
16
17#[cfg(feature = "ASCredentialRequest")]
18extern_conformance!(
19    unsafe impl ASCredentialRequest for ASPasskeyCredentialRequest {}
20);
21
22extern_conformance!(
23    unsafe impl NSCoding for ASPasskeyCredentialRequest {}
24);
25
26extern_conformance!(
27    unsafe impl NSCopying for ASPasskeyCredentialRequest {}
28);
29
30unsafe impl CopyingHelper for ASPasskeyCredentialRequest {
31    type Result = Self;
32}
33
34extern_conformance!(
35    unsafe impl NSObjectProtocol for ASPasskeyCredentialRequest {}
36);
37
38extern_conformance!(
39    unsafe impl NSSecureCoding for ASPasskeyCredentialRequest {}
40);
41
42impl ASPasskeyCredentialRequest {
43    extern_methods!(
44        #[unsafe(method(init))]
45        #[unsafe(method_family = init)]
46        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
47
48        #[cfg(all(
49            feature = "ASAuthorizationPublicKeyCredentialConstants",
50            feature = "ASPasskeyCredentialIdentity"
51        ))]
52        /// Initializes an instance of ASPasskeyCredentialRequest.
53        ///
54        /// Parameter `credentialIdentity`: credential identity to used for this request.
55        ///
56        /// Parameter `clientDataHash`: the client data to be signed for this assertion request.
57        ///
58        /// Parameter `userVerificationPreference`: user verification preference setting of this assertion request.
59        #[unsafe(method(initWithCredentialIdentity:clientDataHash:userVerificationPreference:supportedAlgorithms:))]
60        #[unsafe(method_family = init)]
61        pub unsafe fn initWithCredentialIdentity_clientDataHash_userVerificationPreference_supportedAlgorithms(
62            this: Allocated<Self>,
63            credential_identity: &ASPasskeyCredentialIdentity,
64            client_data_hash: &NSData,
65            user_verification_preference: &ASAuthorizationPublicKeyCredentialUserVerificationPreference,
66            supported_algorithms: &NSArray<NSNumber>,
67        ) -> Retained<Self>;
68
69        #[cfg(all(
70            feature = "ASAuthorizationPublicKeyCredentialConstants",
71            feature = "ASPasskeyAssertionCredentialExtensionInput",
72            feature = "ASPasskeyCredentialIdentity"
73        ))]
74        /// Initializes an instance of ASPasskeyCredentialRequest.
75        ///
76        /// Parameter `credentialIdentity`: credential identity to used for this request.
77        ///
78        /// Parameter `clientDataHash`: the client data to be signed for this assertion request.
79        ///
80        /// Parameter `userVerificationPreference`: user verification preference setting of this assertion request.
81        ///
82        /// Parameter `supportedAlgorithms`: the set of support algorithms for the credential's key.
83        ///
84        /// Parameter `assertionExtensionInput`: input for any requested passkey extensions.
85        #[unsafe(method(initWithCredentialIdentity:clientDataHash:userVerificationPreference:supportedAlgorithms:assertionExtensionInput:))]
86        #[unsafe(method_family = init)]
87        pub unsafe fn initWithCredentialIdentity_clientDataHash_userVerificationPreference_supportedAlgorithms_assertionExtensionInput(
88            this: Allocated<Self>,
89            credential_identity: &ASPasskeyCredentialIdentity,
90            client_data_hash: &NSData,
91            user_verification_preference: &ASAuthorizationPublicKeyCredentialUserVerificationPreference,
92            supported_algorithms: &NSArray<NSNumber>,
93            assertion_extension_input: Option<&ASPasskeyAssertionCredentialExtensionInput>,
94        ) -> Retained<Self>;
95
96        #[cfg(all(
97            feature = "ASAuthorizationPublicKeyCredentialConstants",
98            feature = "ASPasskeyCredentialIdentity",
99            feature = "ASPasskeyRegistrationCredentialExtensionInput"
100        ))]
101        /// Initializes an instance of ASPasskeyCredentialRequest.
102        ///
103        /// Parameter `credentialIdentity`: credential identity to used for this request.
104        ///
105        /// Parameter `clientDataHash`: the client data to be signed for this assertion request.
106        ///
107        /// Parameter `userVerificationPreference`: user verification preference setting of this assertion request.
108        ///
109        /// Parameter `supportedAlgorithms`: the set of support algorithms for the credential's key.
110        ///
111        /// Parameter `registrationExtensionInput`: input for any requested passkey extensions.
112        #[unsafe(method(initWithCredentialIdentity:clientDataHash:userVerificationPreference:supportedAlgorithms:registrationExtensionInput:))]
113        #[unsafe(method_family = init)]
114        pub unsafe fn initWithCredentialIdentity_clientDataHash_userVerificationPreference_supportedAlgorithms_registrationExtensionInput(
115            this: Allocated<Self>,
116            credential_identity: &ASPasskeyCredentialIdentity,
117            client_data_hash: &NSData,
118            user_verification_preference: &ASAuthorizationPublicKeyCredentialUserVerificationPreference,
119            supported_algorithms: &NSArray<NSNumber>,
120            registration_extension_input: Option<&ASPasskeyRegistrationCredentialExtensionInput>,
121        ) -> Retained<Self>;
122
123        #[cfg(all(
124            feature = "ASAuthorizationPublicKeyCredentialConstants",
125            feature = "ASPasskeyCredentialIdentity"
126        ))]
127        /// Creates and initializes an instance of ASPasskeyCredentialRequest.
128        ///
129        /// Parameter `credentialIdentity`: credential identity to used for this request.
130        ///
131        /// Parameter `clientDataHash`: the client data to be signed for this assertion request.
132        ///
133        /// Parameter `userVerificationPreference`: user verification preference setting of this assertion request.
134        #[unsafe(method(requestWithCredentialIdentity:clientDataHash:userVerificationPreference:supportedAlgorithms:))]
135        #[unsafe(method_family = none)]
136        pub unsafe fn requestWithCredentialIdentity_clientDataHash_userVerificationPreference_supportedAlgorithms(
137            credential_identity: &ASPasskeyCredentialIdentity,
138            client_data_hash: &NSData,
139            user_verification_preference: &ASAuthorizationPublicKeyCredentialUserVerificationPreference,
140            supported_algorithms: &NSArray<NSNumber>,
141        ) -> Retained<Self>;
142
143        /// Hash of client data for credential provider to sign as part of the assertion/registration operation.
144        #[unsafe(method(clientDataHash))]
145        #[unsafe(method_family = none)]
146        pub unsafe fn clientDataHash(&self) -> Retained<NSData>;
147
148        #[cfg(feature = "ASAuthorizationPublicKeyCredentialConstants")]
149        /// A preference for whether the authenticator should attempt to verify that
150        /// it is being used by its owner, such as through a PIN or biometrics.
151        #[unsafe(method(userVerificationPreference))]
152        #[unsafe(method_family = none)]
153        pub unsafe fn userVerificationPreference(
154            &self,
155        ) -> Retained<ASAuthorizationPublicKeyCredentialUserVerificationPreference>;
156
157        #[cfg(feature = "ASAuthorizationPublicKeyCredentialConstants")]
158        /// Setter for [`userVerificationPreference`][Self::userVerificationPreference].
159        #[unsafe(method(setUserVerificationPreference:))]
160        #[unsafe(method_family = none)]
161        pub unsafe fn setUserVerificationPreference(
162            &self,
163            user_verification_preference: &ASAuthorizationPublicKeyCredentialUserVerificationPreference,
164        );
165
166        /// A list of signing algorithms supported by the relying party. Will be empty for assertion requests.
167        #[unsafe(method(supportedAlgorithms))]
168        #[unsafe(method_family = none)]
169        pub unsafe fn supportedAlgorithms(&self) -> Retained<NSArray<NSNumber>>;
170
171        #[cfg(feature = "ASAuthorizationPlatformPublicKeyCredentialDescriptor")]
172        #[unsafe(method(excludedCredentials))]
173        #[unsafe(method_family = none)]
174        pub unsafe fn excludedCredentials(
175            &self,
176        ) -> Option<Retained<NSArray<ASAuthorizationPlatformPublicKeyCredentialDescriptor>>>;
177
178        #[cfg(feature = "ASPasskeyAssertionCredentialExtensionInput")]
179        /// Inputs for WebAuthn extensions used for passkey assertion. Will be nil for registration requests.
180        #[unsafe(method(assertionExtensionInput))]
181        #[unsafe(method_family = none)]
182        pub unsafe fn assertionExtensionInput(
183            &self,
184        ) -> Option<Retained<ASPasskeyAssertionCredentialExtensionInput>>;
185
186        #[cfg(feature = "ASPasskeyRegistrationCredentialExtensionInput")]
187        /// Inputs for WebAuthn extensions used for passkey registration. Will be nil for assertion requests.
188        #[unsafe(method(registrationExtensionInput))]
189        #[unsafe(method_family = none)]
190        pub unsafe fn registrationExtensionInput(
191            &self,
192        ) -> Option<Retained<ASPasskeyRegistrationCredentialExtensionInput>>;
193    );
194}
195
196/// Methods declared on superclass `NSObject`.
197impl ASPasskeyCredentialRequest {
198    extern_methods!(
199        #[unsafe(method(new))]
200        #[unsafe(method_family = new)]
201        pub unsafe fn new() -> Retained<Self>;
202    );
203}