objc2_authentication_services/generated/
ASAccountAuthenticationModificationController.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_protocol!(
11    /// [Apple's documentation](https://developer.apple.com/documentation/authenticationservices/asaccountauthenticationmodificationcontrollerdelegate?language=objc)
12    pub unsafe trait ASAccountAuthenticationModificationControllerDelegate:
13        NSObjectProtocol
14    {
15        #[cfg(feature = "ASAccountAuthenticationModificationRequest")]
16        #[optional]
17        #[unsafe(method(accountAuthenticationModificationController:didSuccessfullyCompleteRequest:withUserInfo:))]
18        #[unsafe(method_family = none)]
19        unsafe fn accountAuthenticationModificationController_didSuccessfullyCompleteRequest_withUserInfo(
20            &self,
21            controller: &ASAccountAuthenticationModificationController,
22            request: &ASAccountAuthenticationModificationRequest,
23            user_info: Option<&NSDictionary>,
24        );
25
26        #[cfg(feature = "ASAccountAuthenticationModificationRequest")]
27        #[optional]
28        #[unsafe(method(accountAuthenticationModificationController:didFailRequest:withError:))]
29        #[unsafe(method_family = none)]
30        unsafe fn accountAuthenticationModificationController_didFailRequest_withError(
31            &self,
32            controller: &ASAccountAuthenticationModificationController,
33            request: &ASAccountAuthenticationModificationRequest,
34            error: &NSError,
35        );
36    }
37);
38
39extern_protocol!(
40    /// [Apple's documentation](https://developer.apple.com/documentation/authenticationservices/asaccountauthenticationmodificationcontrollerpresentationcontextproviding?language=objc)
41    pub unsafe trait ASAccountAuthenticationModificationControllerPresentationContextProviding:
42        NSObjectProtocol + MainThreadOnly
43    {
44        #[cfg(feature = "ASFoundation")]
45        #[cfg(target_os = "macos")]
46        /// Return a view anchor that is most appropriate for authorization UI to be presented over.
47        #[unsafe(method(presentationAnchorForAccountAuthenticationModificationController:))]
48        #[unsafe(method_family = none)]
49        unsafe fn presentationAnchorForAccountAuthenticationModificationController(
50            &self,
51            controller: &ASAccountAuthenticationModificationController,
52        ) -> Retained<ASPresentationAnchor>;
53    }
54);
55
56extern_class!(
57    /// [Apple's documentation](https://developer.apple.com/documentation/authenticationservices/asaccountauthenticationmodificationcontroller?language=objc)
58    #[unsafe(super(NSObject))]
59    #[derive(Debug, PartialEq, Eq, Hash)]
60    pub struct ASAccountAuthenticationModificationController;
61);
62
63extern_conformance!(
64    unsafe impl NSObjectProtocol for ASAccountAuthenticationModificationController {}
65);
66
67impl ASAccountAuthenticationModificationController {
68    extern_methods!(
69        /// This delegate will be notified upon completion of the upgrade to report success or failure.
70        #[unsafe(method(delegate))]
71        #[unsafe(method_family = none)]
72        pub unsafe fn delegate(
73            &self,
74        ) -> Option<
75            Retained<ProtocolObject<dyn ASAccountAuthenticationModificationControllerDelegate>>,
76        >;
77
78        /// This is a [weak property][objc2::topics::weak_property].
79        /// Setter for [`delegate`][Self::delegate].
80        #[unsafe(method(setDelegate:))]
81        #[unsafe(method_family = none)]
82        pub unsafe fn setDelegate(
83            &self,
84            delegate: Option<
85                &ProtocolObject<dyn ASAccountAuthenticationModificationControllerDelegate>,
86            >,
87        );
88
89        /// This will be used to provide a presentation context to display authorization UI.
90        #[unsafe(method(presentationContextProvider))]
91        #[unsafe(method_family = none)]
92        pub unsafe fn presentationContextProvider(
93            &self,
94            mtm: MainThreadMarker,
95        ) -> Option<
96            Retained<
97                ProtocolObject<
98                    dyn ASAccountAuthenticationModificationControllerPresentationContextProviding,
99                >,
100            >,
101        >;
102
103        /// This is a [weak property][objc2::topics::weak_property].
104        /// Setter for [`presentationContextProvider`][Self::presentationContextProvider].
105        #[unsafe(method(setPresentationContextProvider:))]
106        #[unsafe(method_family = none)]
107        pub unsafe fn setPresentationContextProvider(
108            &self,
109            presentation_context_provider: Option<
110                &ProtocolObject<
111                    dyn ASAccountAuthenticationModificationControllerPresentationContextProviding,
112                >,
113            >,
114        );
115
116        #[cfg(feature = "ASAccountAuthenticationModificationRequest")]
117        /// Perform an upgrade request, one at a time. Any requests initiated with a request already in progress will fail immediately.
118        #[unsafe(method(performRequest:))]
119        #[unsafe(method_family = none)]
120        pub unsafe fn performRequest(&self, request: &ASAccountAuthenticationModificationRequest);
121    );
122}
123
124/// Methods declared on superclass `NSObject`.
125impl ASAccountAuthenticationModificationController {
126    extern_methods!(
127        #[unsafe(method(init))]
128        #[unsafe(method_family = init)]
129        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
130
131        #[unsafe(method(new))]
132        #[unsafe(method_family = new)]
133        pub unsafe fn new() -> Retained<Self>;
134    );
135}