objc2_web_kit/generated/
WKDownloadDelegate.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10#[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#[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 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);