use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use crate::*;
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct ASWebAuthenticationSessionWebBrowserSessionManager;
);
extern_conformance!(
unsafe impl NSObjectProtocol for ASWebAuthenticationSessionWebBrowserSessionManager {}
);
impl ASWebAuthenticationSessionWebBrowserSessionManager {
extern_methods!(
#[unsafe(method(sharedManager))]
#[unsafe(method_family = none)]
pub unsafe fn sharedManager() -> Retained<ASWebAuthenticationSessionWebBrowserSessionManager>;
#[cfg(feature = "ASWebAuthenticationSessionWebBrowserSessionHandling")]
#[unsafe(method(sessionHandler))]
#[unsafe(method_family = none)]
pub unsafe fn sessionHandler(
&self,
) -> Retained<ProtocolObject<dyn ASWebAuthenticationSessionWebBrowserSessionHandling>>;
#[cfg(feature = "ASWebAuthenticationSessionWebBrowserSessionHandling")]
#[unsafe(method(setSessionHandler:))]
#[unsafe(method_family = none)]
pub unsafe fn setSessionHandler(
&self,
session_handler: &ProtocolObject<
dyn ASWebAuthenticationSessionWebBrowserSessionHandling,
>,
);
#[unsafe(method(wasLaunchedByAuthenticationServices))]
#[unsafe(method_family = none)]
pub unsafe fn wasLaunchedByAuthenticationServices(&self) -> bool;
);
}
impl ASWebAuthenticationSessionWebBrowserSessionManager {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}