objc2_authentication_services/generated/
ASAuthorizationProviderExtensionRegistrationHandler.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7#[cfg(feature = "objc2-security")]
8use objc2_security::*;
9
10use crate::*;
11
12#[repr(transparent)]
15#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16pub struct ASAuthorizationProviderExtensionAuthenticationMethod(pub NSInteger);
17impl ASAuthorizationProviderExtensionAuthenticationMethod {
18 #[doc(alias = "ASAuthorizationProviderExtensionAuthenticationMethodPassword")]
19 pub const Password: Self = Self(1);
20 #[doc(alias = "ASAuthorizationProviderExtensionAuthenticationMethodUserSecureEnclaveKey")]
21 pub const UserSecureEnclaveKey: Self = Self(2);
22 #[doc(alias = "ASAuthorizationProviderExtensionAuthenticationMethodSmartCard")]
23 pub const SmartCard: Self = Self(3);
24}
25
26unsafe impl Encode for ASAuthorizationProviderExtensionAuthenticationMethod {
27 const ENCODING: Encoding = NSInteger::ENCODING;
28}
29
30unsafe impl RefEncode for ASAuthorizationProviderExtensionAuthenticationMethod {
31 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
32}
33
34#[repr(transparent)]
37#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
38pub struct ASAuthorizationProviderExtensionRequestOptions(pub NSUInteger);
39bitflags::bitflags! {
40 impl ASAuthorizationProviderExtensionRequestOptions: NSUInteger {
41 #[doc(alias = "ASAuthorizationProviderExtensionRequestOptionsNone")]
42 const None = 0;
43 #[doc(alias = "ASAuthorizationProviderExtensionRequestOptionsUserInteractionEnabled")]
44 const UserInteractionEnabled = 1<<0;
45 #[doc(alias = "ASAuthorizationProviderExtensionRequestOptionsRegistrationRepair")]
46 const RegistrationRepair = 1<<1;
47 #[doc(alias = "ASAuthorizationProviderExtensionRequestOptionsRegistrationSharedDeviceKeys")]
48 const RegistrationSharedDeviceKeys = 1<<2;
49 #[doc(alias = "ASAuthorizationProviderExtensionRequestOptionsRegistrationDeviceKeyMigration")]
50 const RegistrationDeviceKeyMigration = 1<<3;
51 #[doc(alias = "ASAuthorizationProviderExtensionRequestOptionsStrongerKeyAvailable")]
52 const StrongerKeyAvailable = 1<<4;
53 #[doc(alias = "ASAuthorizationProviderExtensionRequestOptionsUserKeyInvalid")]
54 const UserKeyInvalid = 1<<5;
55 #[doc(alias = "ASAuthorizationProviderExtensionRequestOptionsSetupAssistant")]
56 const SetupAssistant = 1<<6;
57 }
58}
59
60unsafe impl Encode for ASAuthorizationProviderExtensionRequestOptions {
61 const ENCODING: Encoding = NSUInteger::ENCODING;
62}
63
64unsafe impl RefEncode for ASAuthorizationProviderExtensionRequestOptions {
65 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
66}
67
68#[repr(transparent)]
71#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
72pub struct ASAuthorizationProviderExtensionRegistrationResult(pub NSInteger);
73impl ASAuthorizationProviderExtensionRegistrationResult {
74 #[doc(alias = "ASAuthorizationProviderExtensionRegistrationResultSuccess")]
75 pub const Success: Self = Self(0);
76 #[doc(alias = "ASAuthorizationProviderExtensionRegistrationResultFailed")]
77 pub const Failed: Self = Self(1);
78 #[doc(alias = "ASAuthorizationProviderExtensionRegistrationResultUserInterfaceRequired")]
79 pub const UserInterfaceRequired: Self = Self(2);
80 #[doc(alias = "ASAuthorizationProviderExtensionRegistrationResultFailedNoRetry")]
81 pub const FailedNoRetry: Self = Self(3);
82}
83
84unsafe impl Encode for ASAuthorizationProviderExtensionRegistrationResult {
85 const ENCODING: Encoding = NSInteger::ENCODING;
86}
87
88unsafe impl RefEncode for ASAuthorizationProviderExtensionRegistrationResult {
89 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
90}
91
92#[repr(transparent)]
95#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
96pub struct ASAuthorizationProviderExtensionSupportedGrantTypes(pub NSInteger);
97bitflags::bitflags! {
98 impl ASAuthorizationProviderExtensionSupportedGrantTypes: NSInteger {
99 #[doc(alias = "ASAuthorizationProviderExtensionSupportedGrantTypesNone")]
100 const None = 0;
101 #[doc(alias = "ASAuthorizationProviderExtensionSupportedGrantTypesPassword")]
102 const Password = 1<<0;
103 #[doc(alias = "ASAuthorizationProviderExtensionSupportedGrantTypesJWTBearer")]
104 const JWTBearer = 1<<1;
105 #[doc(alias = "ASAuthorizationProviderExtensionSupportedGrantTypesSAML1_1")]
106 const SAML1_1 = 1<<2;
107 #[doc(alias = "ASAuthorizationProviderExtensionSupportedGrantTypesSAML2_0")]
108 const SAML2_0 = 1<<3;
109 }
110}
111
112unsafe impl Encode for ASAuthorizationProviderExtensionSupportedGrantTypes {
113 const ENCODING: Encoding = NSInteger::ENCODING;
114}
115
116unsafe impl RefEncode for ASAuthorizationProviderExtensionSupportedGrantTypes {
117 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
118}
119
120#[repr(transparent)]
123#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
124pub struct ASAuthorizationProviderExtensionPlatformSSOProtocolVersion(pub NSInteger);
125impl ASAuthorizationProviderExtensionPlatformSSOProtocolVersion {
126 #[doc(alias = "ASAuthorizationProviderExtensionPlatformSSOProtocolVersion1_0")]
127 pub const Version1_0: Self = Self(0);
128 #[doc(alias = "ASAuthorizationProviderExtensionPlatformSSOProtocolVersion2_0")]
129 pub const Version2_0: Self = Self(1);
130}
131
132unsafe impl Encode for ASAuthorizationProviderExtensionPlatformSSOProtocolVersion {
133 const ENCODING: Encoding = NSInteger::ENCODING;
134}
135
136unsafe impl RefEncode for ASAuthorizationProviderExtensionPlatformSSOProtocolVersion {
137 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
138}
139
140extern_protocol!(
141 pub unsafe trait ASAuthorizationProviderExtensionRegistrationHandler:
143 NSObjectProtocol
144 {
145 #[cfg(all(
146 feature = "ASAuthorizationProviderExtensionLoginManager",
147 feature = "block2"
148 ))]
149 #[unsafe(method(beginDeviceRegistrationUsingLoginManager:options:completion:))]
157 #[unsafe(method_family = none)]
158 unsafe fn beginDeviceRegistrationUsingLoginManager_options_completion(
159 &self,
160 login_manager: &ASAuthorizationProviderExtensionLoginManager,
161 options: ASAuthorizationProviderExtensionRequestOptions,
162 completion: &block2::DynBlock<
163 dyn Fn(ASAuthorizationProviderExtensionRegistrationResult),
164 >,
165 );
166
167 #[cfg(all(
168 feature = "ASAuthorizationProviderExtensionLoginManager",
169 feature = "block2"
170 ))]
171 #[unsafe(method(beginUserRegistrationUsingLoginManager:userName:authenticationMethod:options:completion:))]
183 #[unsafe(method_family = none)]
184 unsafe fn beginUserRegistrationUsingLoginManager_userName_authenticationMethod_options_completion(
185 &self,
186 login_manager: &ASAuthorizationProviderExtensionLoginManager,
187 user_name: Option<&NSString>,
188 authentication_method: ASAuthorizationProviderExtensionAuthenticationMethod,
189 options: ASAuthorizationProviderExtensionRequestOptions,
190 completion: &block2::DynBlock<
191 dyn Fn(ASAuthorizationProviderExtensionRegistrationResult),
192 >,
193 );
194
195 #[optional]
197 #[unsafe(method(registrationDidComplete))]
198 #[unsafe(method_family = none)]
199 unsafe fn registrationDidComplete(&self);
200
201 #[optional]
203 #[unsafe(method(registrationDidCancel))]
204 #[unsafe(method_family = none)]
205 unsafe fn registrationDidCancel(&self);
206
207 #[optional]
209 #[unsafe(method(supportedGrantTypes))]
210 #[unsafe(method_family = none)]
211 unsafe fn supportedGrantTypes(&self)
212 -> ASAuthorizationProviderExtensionSupportedGrantTypes;
213
214 #[optional]
216 #[unsafe(method(protocolVersion))]
217 #[unsafe(method_family = none)]
218 unsafe fn protocolVersion(
219 &self,
220 ) -> ASAuthorizationProviderExtensionPlatformSSOProtocolVersion;
221
222 #[cfg(feature = "ASAuthorizationProviderExtensionLoginConfiguration")]
223 #[optional]
225 #[unsafe(method(supportedDeviceSigningAlgorithms))]
226 #[unsafe(method_family = none)]
227 unsafe fn supportedDeviceSigningAlgorithms(
228 &self,
229 ) -> Retained<NSArray<ASAuthorizationProviderExtensionSigningAlgorithm>>;
230
231 #[cfg(feature = "ASAuthorizationProviderExtensionLoginConfiguration")]
232 #[optional]
234 #[unsafe(method(supportedDeviceEncryptionAlgorithms))]
235 #[unsafe(method_family = none)]
236 unsafe fn supportedDeviceEncryptionAlgorithms(
237 &self,
238 ) -> Retained<NSArray<ASAuthorizationProviderExtensionEncryptionAlgorithm>>;
239
240 #[cfg(feature = "ASAuthorizationProviderExtensionLoginConfiguration")]
241 #[optional]
243 #[unsafe(method(supportedUserSecureEnclaveKeySigningAlgorithms))]
244 #[unsafe(method_family = none)]
245 unsafe fn supportedUserSecureEnclaveKeySigningAlgorithms(
246 &self,
247 ) -> Retained<NSArray<ASAuthorizationProviderExtensionSigningAlgorithm>>;
248
249 #[cfg(all(
250 feature = "ASAuthorizationProviderExtensionLoginManager",
251 feature = "block2",
252 feature = "objc2-security"
253 ))]
254 #[optional]
256 #[unsafe(method(keyWillRotateForKeyType:newKey:loginManager:completion:))]
257 #[unsafe(method_family = none)]
258 unsafe fn keyWillRotateForKeyType_newKey_loginManager_completion(
259 &self,
260 key_type: ASAuthorizationProviderExtensionKeyType,
261 new_key: &SecKey,
262 login_manager: &ASAuthorizationProviderExtensionLoginManager,
263 completion: &block2::DynBlock<dyn Fn(Bool)>,
264 );
265
266 #[cfg(all(
267 feature = "ASAuthorizationProviderExtensionLoginManager",
268 feature = "block2"
269 ))]
270 #[optional]
272 #[unsafe(method(displayNamesForGroups:loginManager:completion:))]
273 #[unsafe(method_family = none)]
274 unsafe fn displayNamesForGroups_loginManager_completion(
275 &self,
276 groups: &NSArray<NSString>,
277 login_manager: &ASAuthorizationProviderExtensionLoginManager,
278 completion: &block2::DynBlock<dyn Fn(NonNull<NSDictionary<NSString, NSString>>)>,
279 );
280
281 #[cfg(all(
282 feature = "ASAuthorizationProviderExtensionLoginManager",
283 feature = "block2"
284 ))]
285 #[optional]
287 #[unsafe(method(profilePictureForUserUsingLoginManager:completion:))]
288 #[unsafe(method_family = none)]
289 unsafe fn profilePictureForUserUsingLoginManager_completion(
290 &self,
291 login_manager: &ASAuthorizationProviderExtensionLoginManager,
292 completion: &block2::DynBlock<dyn Fn(NonNull<NSData>)>,
293 );
294 }
295);