use objc2::__framework_prelude::*;
use objc2_app_kit::*;
use objc2_foundation::*;
use crate::*;
extern_protocol!(
pub unsafe trait ASWebAuthenticationSessionRequestDelegate: NSObjectProtocol {
#[optional]
#[method(authenticationSessionRequest:didCompleteWithCallbackURL:)]
unsafe fn authenticationSessionRequest_didCompleteWithCallbackURL(
&self,
authentication_session_request: &ASWebAuthenticationSessionRequest,
callback_url: &NSURL,
);
#[optional]
#[method(authenticationSessionRequest:didCancelWithError:)]
unsafe fn authenticationSessionRequest_didCancelWithError(
&self,
authentication_session_request: &ASWebAuthenticationSessionRequest,
error: &NSError,
);
}
unsafe impl ProtocolType for dyn ASWebAuthenticationSessionRequestDelegate {}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct ASWebAuthenticationSessionRequest;
unsafe impl ClassType for ASWebAuthenticationSessionRequest {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSCoding for ASWebAuthenticationSessionRequest {}
unsafe impl NSCopying for ASWebAuthenticationSessionRequest {}
unsafe impl NSObjectProtocol for ASWebAuthenticationSessionRequest {}
unsafe impl NSSecureCoding for ASWebAuthenticationSessionRequest {}
extern_methods!(
unsafe impl ASWebAuthenticationSessionRequest {
#[method_id(@__retain_semantics Other UUID)]
pub unsafe fn UUID(&self) -> Id<NSUUID>;
#[method_id(@__retain_semantics Other URL)]
pub unsafe fn URL(&self) -> Id<NSURL>;
#[deprecated = "Use `callback` to match all callback types."]
#[method_id(@__retain_semantics Other callbackURLScheme)]
pub unsafe fn callbackURLScheme(&self) -> Option<Id<NSString>>;
#[method(shouldUseEphemeralSession)]
pub unsafe fn shouldUseEphemeralSession(&self) -> bool;
#[method_id(@__retain_semantics Other delegate)]
pub unsafe fn delegate(
&self,
) -> Option<Id<ProtocolObject<dyn ASWebAuthenticationSessionRequestDelegate>>>;
#[method(setDelegate:)]
pub unsafe fn setDelegate(
&self,
delegate: Option<&ProtocolObject<dyn ASWebAuthenticationSessionRequestDelegate>>,
);
#[method_id(@__retain_semantics Other additionalHeaderFields)]
pub unsafe fn additionalHeaderFields(&self)
-> Option<Id<NSDictionary<NSString, NSString>>>;
#[cfg(feature = "ASWebAuthenticationSessionCallback")]
#[method_id(@__retain_semantics Other callback)]
pub unsafe fn callback(&self) -> Option<Id<ASWebAuthenticationSessionCallback>>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method(cancelWithError:)]
pub unsafe fn cancelWithError(&self, error: &NSError);
#[method(completeWithCallbackURL:)]
pub unsafe fn completeWithCallbackURL(&self, url: &NSURL);
}
);