use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct ASAuthorizationProviderExtensionAuthenticationMethod(pub NSInteger);
impl ASAuthorizationProviderExtensionAuthenticationMethod {
#[doc(alias = "ASAuthorizationProviderExtensionAuthenticationMethodPassword")]
pub const Password: Self = Self(1);
#[doc(alias = "ASAuthorizationProviderExtensionAuthenticationMethodUserSecureEnclaveKey")]
pub const UserSecureEnclaveKey: Self = Self(2);
#[doc(alias = "ASAuthorizationProviderExtensionAuthenticationMethodSmartCard")]
pub const SmartCard: Self = Self(3);
}
unsafe impl Encode for ASAuthorizationProviderExtensionAuthenticationMethod {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for ASAuthorizationProviderExtensionAuthenticationMethod {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct ASAuthorizationProviderExtensionRequestOptions(pub NSUInteger);
bitflags::bitflags! {
impl ASAuthorizationProviderExtensionRequestOptions: NSUInteger {
#[doc(alias = "ASAuthorizationProviderExtensionRequestOptionsNone")]
const None = 0;
#[doc(alias = "ASAuthorizationProviderExtensionRequestOptionsUserInteractionEnabled")]
const UserInteractionEnabled = 1<<0;
#[doc(alias = "ASAuthorizationProviderExtensionRequestOptionsRegistrationRepair")]
const RegistrationRepair = 1<<1;
#[doc(alias = "ASAuthorizationProviderExtensionRequestOptionsRegistrationSharedDeviceKeys")]
const RegistrationSharedDeviceKeys = 1<<2;
#[doc(alias = "ASAuthorizationProviderExtensionRequestOptionsRegistrationDeviceKeyMigration")]
const RegistrationDeviceKeyMigration = 1<<3;
#[doc(alias = "ASAuthorizationProviderExtensionRequestOptionsUserKeyInvalid")]
const UserKeyInvalid = 1<<5;
}
}
unsafe impl Encode for ASAuthorizationProviderExtensionRequestOptions {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for ASAuthorizationProviderExtensionRequestOptions {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct ASAuthorizationProviderExtensionRegistrationResult(pub NSInteger);
impl ASAuthorizationProviderExtensionRegistrationResult {
#[doc(alias = "ASAuthorizationProviderExtensionRegistrationResultSuccess")]
pub const Success: Self = Self(0);
#[doc(alias = "ASAuthorizationProviderExtensionRegistrationResultFailed")]
pub const Failed: Self = Self(1);
#[doc(alias = "ASAuthorizationProviderExtensionRegistrationResultUserInterfaceRequired")]
pub const UserInterfaceRequired: Self = Self(2);
#[doc(alias = "ASAuthorizationProviderExtensionRegistrationResultFailedNoRetry")]
pub const FailedNoRetry: Self = Self(3);
}
unsafe impl Encode for ASAuthorizationProviderExtensionRegistrationResult {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for ASAuthorizationProviderExtensionRegistrationResult {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct ASAuthorizationProviderExtensionSupportedGrantTypes(pub NSInteger);
bitflags::bitflags! {
impl ASAuthorizationProviderExtensionSupportedGrantTypes: NSInteger {
#[doc(alias = "ASAuthorizationProviderExtensionSupportedGrantTypesNone")]
const None = 0;
#[doc(alias = "ASAuthorizationProviderExtensionSupportedGrantTypesPassword")]
const Password = 1<<0;
#[doc(alias = "ASAuthorizationProviderExtensionSupportedGrantTypesJWTBearer")]
const JWTBearer = 1<<1;
#[doc(alias = "ASAuthorizationProviderExtensionSupportedGrantTypesSAML1_1")]
const SAML1_1 = 1<<2;
#[doc(alias = "ASAuthorizationProviderExtensionSupportedGrantTypesSAML2_0")]
const SAML2_0 = 1<<3;
}
}
unsafe impl Encode for ASAuthorizationProviderExtensionSupportedGrantTypes {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for ASAuthorizationProviderExtensionSupportedGrantTypes {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct ASAuthorizationProviderExtensionPlatformSSOProtocolVersion(pub NSInteger);
impl ASAuthorizationProviderExtensionPlatformSSOProtocolVersion {
pub const ASAuthorizationProviderExtensionPlatformSSOProtocolVersion1_0: Self = Self(0);
pub const ASAuthorizationProviderExtensionPlatformSSOProtocolVersion2_0: Self = Self(1);
}
unsafe impl Encode for ASAuthorizationProviderExtensionPlatformSSOProtocolVersion {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for ASAuthorizationProviderExtensionPlatformSSOProtocolVersion {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_protocol!(
pub unsafe trait ASAuthorizationProviderExtensionRegistrationHandler:
NSObjectProtocol
{
#[cfg(all(
feature = "ASAuthorizationProviderExtensionLoginManager",
feature = "block2"
))]
#[method(beginDeviceRegistrationUsingLoginManager:options:completion:)]
unsafe fn beginDeviceRegistrationUsingLoginManager_options_completion(
&self,
login_manager: &ASAuthorizationProviderExtensionLoginManager,
options: ASAuthorizationProviderExtensionRequestOptions,
completion: &block2::Block<dyn Fn(ASAuthorizationProviderExtensionRegistrationResult)>,
);
#[cfg(all(
feature = "ASAuthorizationProviderExtensionLoginManager",
feature = "block2"
))]
#[method(beginUserRegistrationUsingLoginManager:userName:authenticationMethod:options:completion:)]
unsafe fn beginUserRegistrationUsingLoginManager_userName_authenticationMethod_options_completion(
&self,
login_manager: &ASAuthorizationProviderExtensionLoginManager,
user_name: Option<&NSString>,
authentication_method: ASAuthorizationProviderExtensionAuthenticationMethod,
options: ASAuthorizationProviderExtensionRequestOptions,
completion: &block2::Block<dyn Fn(ASAuthorizationProviderExtensionRegistrationResult)>,
);
#[optional]
#[method(registrationDidComplete)]
unsafe fn registrationDidComplete(&self);
#[optional]
#[method(registrationDidCancel)]
unsafe fn registrationDidCancel(&self);
#[optional]
#[method(supportedGrantTypes)]
unsafe fn supportedGrantTypes(&self)
-> ASAuthorizationProviderExtensionSupportedGrantTypes;
#[optional]
#[method(protocolVersion)]
unsafe fn protocolVersion(
&self,
) -> ASAuthorizationProviderExtensionPlatformSSOProtocolVersion;
}
unsafe impl ProtocolType for dyn ASAuthorizationProviderExtensionRegistrationHandler {}
);