use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
#[cfg(feature = "objc2-app-kit")]
#[cfg(target_os = "macos")]
use objc2_app_kit::*;
use objc2_foundation::*;
use crate::*;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct WKUserInterfaceDirectionPolicy(pub NSInteger);
impl WKUserInterfaceDirectionPolicy {
#[doc(alias = "WKUserInterfaceDirectionPolicyContent")]
pub const Content: Self = Self(0);
#[doc(alias = "WKUserInterfaceDirectionPolicySystem")]
pub const System: Self = Self(1);
}
unsafe impl Encode for WKUserInterfaceDirectionPolicy {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for WKUserInterfaceDirectionPolicy {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct WKAudiovisualMediaTypes(pub NSUInteger);
bitflags::bitflags! {
impl WKAudiovisualMediaTypes: NSUInteger {
#[doc(alias = "WKAudiovisualMediaTypeNone")]
const None = 0;
#[doc(alias = "WKAudiovisualMediaTypeAudio")]
const Audio = 1<<0;
#[doc(alias = "WKAudiovisualMediaTypeVideo")]
const Video = 1<<1;
#[doc(alias = "WKAudiovisualMediaTypeAll")]
const All = NSUIntegerMax as _;
}
}
unsafe impl Encode for WKAudiovisualMediaTypes {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for WKAudiovisualMediaTypes {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_class!(
#[unsafe(super(NSObject))]
#[thread_kind = MainThreadOnly]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct WKWebViewConfiguration;
);
unsafe impl NSCoding for WKWebViewConfiguration {}
unsafe impl NSCopying for WKWebViewConfiguration {}
unsafe impl CopyingHelper for WKWebViewConfiguration {
type Result = Self;
}
unsafe impl NSObjectProtocol for WKWebViewConfiguration {}
unsafe impl NSSecureCoding for WKWebViewConfiguration {}
impl WKWebViewConfiguration {
extern_methods!(
#[cfg(feature = "WKProcessPool")]
#[unsafe(method(processPool))]
#[unsafe(method_family = none)]
pub unsafe fn processPool(&self) -> Retained<WKProcessPool>;
#[cfg(feature = "WKProcessPool")]
#[unsafe(method(setProcessPool:))]
#[unsafe(method_family = none)]
pub unsafe fn setProcessPool(&self, process_pool: &WKProcessPool);
#[cfg(feature = "WKPreferences")]
#[unsafe(method(preferences))]
#[unsafe(method_family = none)]
pub unsafe fn preferences(&self) -> Retained<WKPreferences>;
#[cfg(feature = "WKPreferences")]
#[unsafe(method(setPreferences:))]
#[unsafe(method_family = none)]
pub unsafe fn setPreferences(&self, preferences: &WKPreferences);
#[cfg(feature = "WKUserContentController")]
#[unsafe(method(userContentController))]
#[unsafe(method_family = none)]
pub unsafe fn userContentController(&self) -> Retained<WKUserContentController>;
#[cfg(feature = "WKUserContentController")]
#[unsafe(method(setUserContentController:))]
#[unsafe(method_family = none)]
pub unsafe fn setUserContentController(
&self,
user_content_controller: &WKUserContentController,
);
#[cfg(feature = "WKWebsiteDataStore")]
#[unsafe(method(websiteDataStore))]
#[unsafe(method_family = none)]
pub unsafe fn websiteDataStore(&self) -> Retained<WKWebsiteDataStore>;
#[cfg(feature = "WKWebsiteDataStore")]
#[unsafe(method(setWebsiteDataStore:))]
#[unsafe(method_family = none)]
pub unsafe fn setWebsiteDataStore(&self, website_data_store: &WKWebsiteDataStore);
#[unsafe(method(suppressesIncrementalRendering))]
#[unsafe(method_family = none)]
pub unsafe fn suppressesIncrementalRendering(&self) -> bool;
#[unsafe(method(setSuppressesIncrementalRendering:))]
#[unsafe(method_family = none)]
pub unsafe fn setSuppressesIncrementalRendering(
&self,
suppresses_incremental_rendering: bool,
);
#[unsafe(method(applicationNameForUserAgent))]
#[unsafe(method_family = none)]
pub unsafe fn applicationNameForUserAgent(&self) -> Option<Retained<NSString>>;
#[unsafe(method(setApplicationNameForUserAgent:))]
#[unsafe(method_family = none)]
pub unsafe fn setApplicationNameForUserAgent(
&self,
application_name_for_user_agent: Option<&NSString>,
);
#[unsafe(method(allowsAirPlayForMediaPlayback))]
#[unsafe(method_family = none)]
pub unsafe fn allowsAirPlayForMediaPlayback(&self) -> bool;
#[unsafe(method(setAllowsAirPlayForMediaPlayback:))]
#[unsafe(method_family = none)]
pub unsafe fn setAllowsAirPlayForMediaPlayback(
&self,
allows_air_play_for_media_playback: bool,
);
#[unsafe(method(upgradeKnownHostsToHTTPS))]
#[unsafe(method_family = none)]
pub unsafe fn upgradeKnownHostsToHTTPS(&self) -> bool;
#[unsafe(method(setUpgradeKnownHostsToHTTPS:))]
#[unsafe(method_family = none)]
pub unsafe fn setUpgradeKnownHostsToHTTPS(&self, upgrade_known_hosts_to_https: bool);
#[unsafe(method(mediaTypesRequiringUserActionForPlayback))]
#[unsafe(method_family = none)]
pub unsafe fn mediaTypesRequiringUserActionForPlayback(&self) -> WKAudiovisualMediaTypes;
#[unsafe(method(setMediaTypesRequiringUserActionForPlayback:))]
#[unsafe(method_family = none)]
pub unsafe fn setMediaTypesRequiringUserActionForPlayback(
&self,
media_types_requiring_user_action_for_playback: WKAudiovisualMediaTypes,
);
#[cfg(feature = "WKWebpagePreferences")]
#[unsafe(method(defaultWebpagePreferences))]
#[unsafe(method_family = none)]
pub unsafe fn defaultWebpagePreferences(&self) -> Retained<WKWebpagePreferences>;
#[cfg(feature = "WKWebpagePreferences")]
#[unsafe(method(setDefaultWebpagePreferences:))]
#[unsafe(method_family = none)]
pub unsafe fn setDefaultWebpagePreferences(
&self,
default_webpage_preferences: Option<&WKWebpagePreferences>,
);
#[unsafe(method(limitsNavigationsToAppBoundDomains))]
#[unsafe(method_family = none)]
pub unsafe fn limitsNavigationsToAppBoundDomains(&self) -> bool;
#[unsafe(method(setLimitsNavigationsToAppBoundDomains:))]
#[unsafe(method_family = none)]
pub unsafe fn setLimitsNavigationsToAppBoundDomains(
&self,
limits_navigations_to_app_bound_domains: bool,
);
#[unsafe(method(allowsInlinePredictions))]
#[unsafe(method_family = none)]
pub unsafe fn allowsInlinePredictions(&self) -> bool;
#[unsafe(method(setAllowsInlinePredictions:))]
#[unsafe(method_family = none)]
pub unsafe fn setAllowsInlinePredictions(&self, allows_inline_predictions: bool);
#[unsafe(method(userInterfaceDirectionPolicy))]
#[unsafe(method_family = none)]
pub unsafe fn userInterfaceDirectionPolicy(&self) -> WKUserInterfaceDirectionPolicy;
#[unsafe(method(setUserInterfaceDirectionPolicy:))]
#[unsafe(method_family = none)]
pub unsafe fn setUserInterfaceDirectionPolicy(
&self,
user_interface_direction_policy: WKUserInterfaceDirectionPolicy,
);
#[cfg(feature = "WKURLSchemeHandler")]
#[unsafe(method(setURLSchemeHandler:forURLScheme:))]
#[unsafe(method_family = none)]
pub unsafe fn setURLSchemeHandler_forURLScheme(
&self,
url_scheme_handler: Option<&ProtocolObject<dyn WKURLSchemeHandler>>,
url_scheme: &NSString,
);
#[cfg(feature = "WKURLSchemeHandler")]
#[unsafe(method(urlSchemeHandlerForURLScheme:))]
#[unsafe(method_family = none)]
pub unsafe fn urlSchemeHandlerForURLScheme(
&self,
url_scheme: &NSString,
) -> Option<Retained<ProtocolObject<dyn WKURLSchemeHandler>>>;
#[unsafe(method(supportsAdaptiveImageGlyph))]
#[unsafe(method_family = none)]
pub unsafe fn supportsAdaptiveImageGlyph(&self) -> bool;
#[unsafe(method(setSupportsAdaptiveImageGlyph:))]
#[unsafe(method_family = none)]
pub unsafe fn setSupportsAdaptiveImageGlyph(&self, supports_adaptive_image_glyph: bool);
#[cfg(feature = "objc2-app-kit")]
#[cfg(target_os = "macos")]
#[unsafe(method(writingToolsBehavior))]
#[unsafe(method_family = none)]
pub unsafe fn writingToolsBehavior(&self) -> NSWritingToolsBehavior;
#[cfg(feature = "objc2-app-kit")]
#[cfg(target_os = "macos")]
#[unsafe(method(setWritingToolsBehavior:))]
#[unsafe(method_family = none)]
pub unsafe fn setWritingToolsBehavior(
&self,
writing_tools_behavior: NSWritingToolsBehavior,
);
);
}
impl WKWebViewConfiguration {
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(mtm: MainThreadMarker) -> Retained<Self>;
);
}