objc2_web_kit/generated/
WKDownloadDelegate.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/webkit/wkdownloadredirectpolicy?language=objc)
11// NS_ENUM
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct WKDownloadRedirectPolicy(pub NSInteger);
15impl WKDownloadRedirectPolicy {
16    #[doc(alias = "WKDownloadRedirectPolicyCancel")]
17    pub const Cancel: Self = Self(0);
18    #[doc(alias = "WKDownloadRedirectPolicyAllow")]
19    pub const Allow: Self = Self(1);
20}
21
22unsafe impl Encode for WKDownloadRedirectPolicy {
23    const ENCODING: Encoding = NSInteger::ENCODING;
24}
25
26unsafe impl RefEncode for WKDownloadRedirectPolicy {
27    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
28}
29
30/// [Apple's documentation](https://developer.apple.com/documentation/webkit/wkdownloadplaceholderpolicy?language=objc)
31// NS_ENUM
32#[repr(transparent)]
33#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
34pub struct WKDownloadPlaceholderPolicy(pub NSInteger);
35impl WKDownloadPlaceholderPolicy {
36    #[doc(alias = "WKDownloadPlaceholderPolicyDisable")]
37    pub const Disable: Self = Self(0);
38    #[doc(alias = "WKDownloadPlaceholderPolicyEnable")]
39    pub const Enable: Self = Self(1);
40}
41
42unsafe impl Encode for WKDownloadPlaceholderPolicy {
43    const ENCODING: Encoding = NSInteger::ENCODING;
44}
45
46unsafe impl RefEncode for WKDownloadPlaceholderPolicy {
47    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
48}
49
50extern_protocol!(
51    /// [Apple's documentation](https://developer.apple.com/documentation/webkit/wkdownloaddelegate?language=objc)
52    pub unsafe trait WKDownloadDelegate: NSObjectProtocol + MainThreadOnly {
53        #[cfg(all(feature = "WKDownload", feature = "block2"))]
54        #[unsafe(method(download:decideDestinationUsingResponse:suggestedFilename:completionHandler:))]
55        #[unsafe(method_family = none)]
56        unsafe fn download_decideDestinationUsingResponse_suggestedFilename_completionHandler(
57            &self,
58            download: &WKDownload,
59            response: &NSURLResponse,
60            suggested_filename: &NSString,
61            completion_handler: &block2::Block<dyn Fn(*mut NSURL)>,
62        );
63
64        #[cfg(all(feature = "WKDownload", feature = "block2"))]
65        #[optional]
66        #[unsafe(method(download:willPerformHTTPRedirection:newRequest:decisionHandler:))]
67        #[unsafe(method_family = none)]
68        unsafe fn download_willPerformHTTPRedirection_newRequest_decisionHandler(
69            &self,
70            download: &WKDownload,
71            response: &NSHTTPURLResponse,
72            request: &NSURLRequest,
73            decision_handler: &block2::Block<dyn Fn(WKDownloadRedirectPolicy)>,
74        );
75
76        #[cfg(all(feature = "WKDownload", feature = "block2"))]
77        #[optional]
78        #[unsafe(method(download:didReceiveAuthenticationChallenge:completionHandler:))]
79        #[unsafe(method_family = none)]
80        unsafe fn download_didReceiveAuthenticationChallenge_completionHandler(
81            &self,
82            download: &WKDownload,
83            challenge: &NSURLAuthenticationChallenge,
84            completion_handler: &block2::Block<
85                dyn Fn(NSURLSessionAuthChallengeDisposition, *mut NSURLCredential),
86            >,
87        );
88
89        #[cfg(feature = "WKDownload")]
90        #[optional]
91        #[unsafe(method(downloadDidFinish:))]
92        #[unsafe(method_family = none)]
93        unsafe fn downloadDidFinish(&self, download: &WKDownload);
94
95        #[cfg(feature = "WKDownload")]
96        #[optional]
97        #[unsafe(method(download:didFailWithError:resumeData:))]
98        #[unsafe(method_family = none)]
99        unsafe fn download_didFailWithError_resumeData(
100            &self,
101            download: &WKDownload,
102            error: &NSError,
103            resume_data: Option<&NSData>,
104        );
105
106        #[cfg(all(feature = "WKDownload", feature = "block2"))]
107        #[optional]
108        #[unsafe(method(download:decidePlaceholderPolicy:))]
109        #[unsafe(method_family = none)]
110        unsafe fn download_decidePlaceholderPolicy(
111            &self,
112            download: &WKDownload,
113            completion_handler: &block2::Block<dyn Fn(WKDownloadPlaceholderPolicy, *mut NSURL)>,
114        );
115
116        #[cfg(all(feature = "WKDownload", feature = "block2"))]
117        #[optional]
118        #[unsafe(method(download:didReceivePlaceholderURL:completionHandler:))]
119        #[unsafe(method_family = none)]
120        unsafe fn download_didReceivePlaceholderURL_completionHandler(
121            &self,
122            download: &WKDownload,
123            url: &NSURL,
124            completion_handler: &block2::Block<dyn Fn()>,
125        );
126
127        #[cfg(feature = "WKDownload")]
128        #[optional]
129        #[unsafe(method(download:didReceiveFinalURL:))]
130        #[unsafe(method_family = none)]
131        unsafe fn download_didReceiveFinalURL(&self, download: &WKDownload, url: &NSURL);
132    }
133);