objc2_authentication_services/generated/
ASPublicKeyCredentialClientData.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/aspublickeycredentialclientdatacrossoriginvalue?language=objc)
11// NS_ENUM
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct ASPublicKeyCredentialClientDataCrossOriginValue(pub NSInteger);
15impl ASPublicKeyCredentialClientDataCrossOriginValue {
16    #[doc(alias = "ASPublicKeyCredentialClientDataCrossOriginValueNotSet")]
17    pub const NotSet: Self = Self(0);
18    #[doc(alias = "ASPublicKeyCredentialClientDataCrossOriginValueCrossOrigin")]
19    pub const CrossOrigin: Self = Self(1);
20    #[doc(alias = "ASPublicKeyCredentialClientDataCrossOriginValueSameOriginWithAncestors")]
21    pub const SameOriginWithAncestors: Self = Self(2);
22}
23
24unsafe impl Encode for ASPublicKeyCredentialClientDataCrossOriginValue {
25    const ENCODING: Encoding = NSInteger::ENCODING;
26}
27
28unsafe impl RefEncode for ASPublicKeyCredentialClientDataCrossOriginValue {
29    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
30}
31
32extern_class!(
33    /// This object represents the client data for a public key credential request, as defined in the WebAuthentication standard.
34    ///
35    /// See also [Apple's documentation](https://developer.apple.com/documentation/authenticationservices/aspublickeycredentialclientdata?language=objc)
36    #[unsafe(super(NSObject))]
37    #[derive(Debug, PartialEq, Eq, Hash)]
38    pub struct ASPublicKeyCredentialClientData;
39);
40
41extern_conformance!(
42    unsafe impl NSObjectProtocol for ASPublicKeyCredentialClientData {}
43);
44
45impl ASPublicKeyCredentialClientData {
46    extern_methods!(
47        #[unsafe(method(new))]
48        #[unsafe(method_family = new)]
49        pub unsafe fn new() -> Retained<Self>;
50
51        #[unsafe(method(init))]
52        #[unsafe(method_family = init)]
53        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
54
55        #[unsafe(method(initWithChallenge:origin:))]
56        #[unsafe(method_family = init)]
57        pub unsafe fn initWithChallenge_origin(
58            this: Allocated<Self>,
59            challenge: &NSData,
60            origin: &NSString,
61        ) -> Retained<Self>;
62
63        /// The challenge to be signed during the operation.
64        #[unsafe(method(challenge))]
65        #[unsafe(method_family = none)]
66        pub unsafe fn challenge(&self) -> Retained<NSData>;
67
68        /// Setter for [`challenge`][Self::challenge].
69        #[unsafe(method(setChallenge:))]
70        #[unsafe(method_family = none)]
71        pub unsafe fn setChallenge(&self, challenge: &NSData);
72
73        /// The origin for where the request was performed.
74        #[unsafe(method(origin))]
75        #[unsafe(method_family = none)]
76        pub unsafe fn origin(&self) -> Retained<NSString>;
77
78        /// Setter for [`origin`][Self::origin].
79        #[unsafe(method(setOrigin:))]
80        #[unsafe(method_family = none)]
81        pub unsafe fn setOrigin(&self, origin: &NSString);
82
83        /// The top-level origin, if applicable.
84        #[unsafe(method(topOrigin))]
85        #[unsafe(method_family = none)]
86        pub unsafe fn topOrigin(&self) -> Option<Retained<NSString>>;
87
88        /// Setter for [`topOrigin`][Self::topOrigin].
89        #[unsafe(method(setTopOrigin:))]
90        #[unsafe(method_family = none)]
91        pub unsafe fn setTopOrigin(&self, top_origin: Option<&NSString>);
92
93        /// Indicates whether this is a cross-origin request, if applicable.
94        #[unsafe(method(crossOrigin))]
95        #[unsafe(method_family = none)]
96        pub unsafe fn crossOrigin(&self) -> ASPublicKeyCredentialClientDataCrossOriginValue;
97
98        /// Setter for [`crossOrigin`][Self::crossOrigin].
99        #[unsafe(method(setCrossOrigin:))]
100        #[unsafe(method_family = none)]
101        pub unsafe fn setCrossOrigin(
102            &self,
103            cross_origin: ASPublicKeyCredentialClientDataCrossOriginValue,
104        );
105    );
106}