objc2_foundation/generated/
NSItemProvider.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6
7use crate::*;
8
9#[repr(transparent)]
12#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13pub struct NSItemProviderRepresentationVisibility(pub NSInteger);
14impl NSItemProviderRepresentationVisibility {
15 #[doc(alias = "NSItemProviderRepresentationVisibilityAll")]
16 pub const All: Self = Self(0);
17 #[doc(alias = "NSItemProviderRepresentationVisibilityTeam")]
18 pub const Team: Self = Self(1);
19 #[doc(alias = "NSItemProviderRepresentationVisibilityGroup")]
20 pub const Group: Self = Self(2);
21 #[doc(alias = "NSItemProviderRepresentationVisibilityOwnProcess")]
22 pub const OwnProcess: Self = Self(3);
23}
24
25unsafe impl Encode for NSItemProviderRepresentationVisibility {
26 const ENCODING: Encoding = NSInteger::ENCODING;
27}
28
29unsafe impl RefEncode for NSItemProviderRepresentationVisibility {
30 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
31}
32
33#[repr(transparent)]
36#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
37pub struct NSItemProviderFileOptions(pub NSInteger);
38bitflags::bitflags! {
39 impl NSItemProviderFileOptions: NSInteger {
40 #[doc(alias = "NSItemProviderFileOptionOpenInPlace")]
41 const OpenInPlace = 1;
42 }
43}
44
45unsafe impl Encode for NSItemProviderFileOptions {
46 const ENCODING: Encoding = NSInteger::ENCODING;
47}
48
49unsafe impl RefEncode for NSItemProviderFileOptions {
50 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
51}
52
53extern_protocol!(
54 pub unsafe trait NSItemProviderWriting: NSObjectProtocol {
56 #[cfg(all(feature = "NSArray", feature = "NSString"))]
57 #[unsafe(method(writableTypeIdentifiersForItemProvider))]
58 #[unsafe(method_family = none)]
59 unsafe fn writableTypeIdentifiersForItemProvider_class() -> Retained<NSArray<NSString>>;
60
61 #[cfg(all(feature = "NSArray", feature = "NSString"))]
62 #[optional]
63 #[unsafe(method(writableTypeIdentifiersForItemProvider))]
64 #[unsafe(method_family = none)]
65 unsafe fn writableTypeIdentifiersForItemProvider(&self) -> Retained<NSArray<NSString>>;
66
67 #[cfg(feature = "NSString")]
68 #[optional]
69 #[unsafe(method(itemProviderVisibilityForRepresentationWithTypeIdentifier:))]
70 #[unsafe(method_family = none)]
71 unsafe fn itemProviderVisibilityForRepresentationWithTypeIdentifier_class(
72 type_identifier: &NSString,
73 ) -> NSItemProviderRepresentationVisibility;
74
75 #[cfg(feature = "NSString")]
76 #[optional]
77 #[unsafe(method(itemProviderVisibilityForRepresentationWithTypeIdentifier:))]
78 #[unsafe(method_family = none)]
79 unsafe fn itemProviderVisibilityForRepresentationWithTypeIdentifier(
80 &self,
81 type_identifier: &NSString,
82 ) -> NSItemProviderRepresentationVisibility;
83
84 #[cfg(all(
85 feature = "NSData",
86 feature = "NSError",
87 feature = "NSProgress",
88 feature = "NSString",
89 feature = "block2"
90 ))]
91 #[unsafe(method(loadDataWithTypeIdentifier:forItemProviderCompletionHandler:))]
92 #[unsafe(method_family = none)]
93 unsafe fn loadDataWithTypeIdentifier_forItemProviderCompletionHandler(
94 &self,
95 type_identifier: &NSString,
96 completion_handler: &block2::Block<dyn Fn(*mut NSData, *mut NSError)>,
97 ) -> Option<Retained<NSProgress>>;
98 }
99);
100
101extern_protocol!(
102 pub unsafe trait NSItemProviderReading: NSObjectProtocol {
104 #[cfg(all(feature = "NSArray", feature = "NSString"))]
105 #[unsafe(method(readableTypeIdentifiersForItemProvider))]
106 #[unsafe(method_family = none)]
107 unsafe fn readableTypeIdentifiersForItemProvider() -> Retained<NSArray<NSString>>;
108
109 #[cfg(all(feature = "NSData", feature = "NSError", feature = "NSString"))]
110 #[unsafe(method(objectWithItemProviderData:typeIdentifier:error:_))]
111 #[unsafe(method_family = none)]
112 unsafe fn objectWithItemProviderData_typeIdentifier_error(
113 data: &NSData,
114 type_identifier: &NSString,
115 ) -> Result<Retained<Self>, Retained<NSError>>;
116 }
117);
118
119#[cfg(all(feature = "NSError", feature = "NSObject", feature = "block2"))]
121pub type NSItemProviderCompletionHandler =
122 *mut block2::Block<dyn Fn(*mut ProtocolObject<dyn NSSecureCoding>, *mut NSError)>;
123
124#[cfg(all(
126 feature = "NSDictionary",
127 feature = "NSError",
128 feature = "NSObject",
129 feature = "block2"
130))]
131pub type NSItemProviderLoadHandler =
132 *mut block2::Block<dyn Fn(NSItemProviderCompletionHandler, *const AnyClass, *mut NSDictionary)>;
133
134extern_class!(
135 #[unsafe(super(NSObject))]
137 #[derive(Debug, PartialEq, Eq, Hash)]
138 pub struct NSItemProvider;
139);
140
141#[cfg(feature = "NSObject")]
142unsafe impl NSCopying for NSItemProvider {}
143
144#[cfg(feature = "NSObject")]
145unsafe impl CopyingHelper for NSItemProvider {
146 type Result = Self;
147}
148
149unsafe impl NSObjectProtocol for NSItemProvider {}
150
151impl NSItemProvider {
152 extern_methods!(
153 #[unsafe(method(init))]
154 #[unsafe(method_family = init)]
155 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
156
157 #[cfg(all(
158 feature = "NSData",
159 feature = "NSError",
160 feature = "NSProgress",
161 feature = "NSString",
162 feature = "block2"
163 ))]
164 #[unsafe(method(registerDataRepresentationForTypeIdentifier:visibility:loadHandler:))]
165 #[unsafe(method_family = none)]
166 pub unsafe fn registerDataRepresentationForTypeIdentifier_visibility_loadHandler(
167 &self,
168 type_identifier: &NSString,
169 visibility: NSItemProviderRepresentationVisibility,
170 load_handler: &block2::Block<
171 dyn Fn(
172 NonNull<block2::Block<dyn Fn(*mut NSData, *mut NSError)>>,
173 ) -> *mut NSProgress,
174 >,
175 );
176
177 #[cfg(all(
178 feature = "NSError",
179 feature = "NSProgress",
180 feature = "NSString",
181 feature = "NSURL",
182 feature = "block2"
183 ))]
184 #[unsafe(method(registerFileRepresentationForTypeIdentifier:fileOptions:visibility:loadHandler:))]
185 #[unsafe(method_family = none)]
186 pub unsafe fn registerFileRepresentationForTypeIdentifier_fileOptions_visibility_loadHandler(
187 &self,
188 type_identifier: &NSString,
189 file_options: NSItemProviderFileOptions,
190 visibility: NSItemProviderRepresentationVisibility,
191 load_handler: &block2::Block<
192 dyn Fn(
193 NonNull<block2::Block<dyn Fn(*mut NSURL, Bool, *mut NSError)>>,
194 ) -> *mut NSProgress,
195 >,
196 );
197
198 #[cfg(all(feature = "NSArray", feature = "NSString"))]
199 #[unsafe(method(registeredTypeIdentifiers))]
200 #[unsafe(method_family = none)]
201 pub unsafe fn registeredTypeIdentifiers(&self) -> Retained<NSArray<NSString>>;
202
203 #[cfg(all(feature = "NSArray", feature = "NSString"))]
204 #[unsafe(method(registeredTypeIdentifiersWithFileOptions:))]
205 #[unsafe(method_family = none)]
206 pub unsafe fn registeredTypeIdentifiersWithFileOptions(
207 &self,
208 file_options: NSItemProviderFileOptions,
209 ) -> Retained<NSArray<NSString>>;
210
211 #[cfg(feature = "NSString")]
212 #[unsafe(method(hasItemConformingToTypeIdentifier:))]
213 #[unsafe(method_family = none)]
214 pub unsafe fn hasItemConformingToTypeIdentifier(&self, type_identifier: &NSString) -> bool;
215
216 #[cfg(feature = "NSString")]
217 #[unsafe(method(hasRepresentationConformingToTypeIdentifier:fileOptions:))]
218 #[unsafe(method_family = none)]
219 pub unsafe fn hasRepresentationConformingToTypeIdentifier_fileOptions(
220 &self,
221 type_identifier: &NSString,
222 file_options: NSItemProviderFileOptions,
223 ) -> bool;
224
225 #[cfg(all(
226 feature = "NSData",
227 feature = "NSError",
228 feature = "NSProgress",
229 feature = "NSString",
230 feature = "block2"
231 ))]
232 #[unsafe(method(loadDataRepresentationForTypeIdentifier:completionHandler:))]
233 #[unsafe(method_family = none)]
234 pub unsafe fn loadDataRepresentationForTypeIdentifier_completionHandler(
235 &self,
236 type_identifier: &NSString,
237 completion_handler: &block2::Block<dyn Fn(*mut NSData, *mut NSError)>,
238 ) -> Retained<NSProgress>;
239
240 #[cfg(all(
241 feature = "NSError",
242 feature = "NSProgress",
243 feature = "NSString",
244 feature = "NSURL",
245 feature = "block2"
246 ))]
247 #[unsafe(method(loadFileRepresentationForTypeIdentifier:completionHandler:))]
248 #[unsafe(method_family = none)]
249 pub unsafe fn loadFileRepresentationForTypeIdentifier_completionHandler(
250 &self,
251 type_identifier: &NSString,
252 completion_handler: &block2::Block<dyn Fn(*mut NSURL, *mut NSError)>,
253 ) -> Retained<NSProgress>;
254
255 #[cfg(all(
256 feature = "NSError",
257 feature = "NSProgress",
258 feature = "NSString",
259 feature = "NSURL",
260 feature = "block2"
261 ))]
262 #[unsafe(method(loadInPlaceFileRepresentationForTypeIdentifier:completionHandler:))]
263 #[unsafe(method_family = none)]
264 pub unsafe fn loadInPlaceFileRepresentationForTypeIdentifier_completionHandler(
265 &self,
266 type_identifier: &NSString,
267 completion_handler: &block2::Block<dyn Fn(*mut NSURL, Bool, *mut NSError)>,
268 ) -> Retained<NSProgress>;
269
270 #[cfg(feature = "NSString")]
271 #[unsafe(method(suggestedName))]
272 #[unsafe(method_family = none)]
273 pub unsafe fn suggestedName(&self) -> Option<Retained<NSString>>;
274
275 #[cfg(feature = "NSString")]
276 #[unsafe(method(setSuggestedName:))]
278 #[unsafe(method_family = none)]
279 pub unsafe fn setSuggestedName(&self, suggested_name: Option<&NSString>);
280
281 #[unsafe(method(initWithObject:))]
282 #[unsafe(method_family = init)]
283 pub unsafe fn initWithObject(
284 this: Allocated<Self>,
285 object: &ProtocolObject<dyn NSItemProviderWriting>,
286 ) -> Retained<Self>;
287
288 #[unsafe(method(registerObject:visibility:))]
289 #[unsafe(method_family = none)]
290 pub unsafe fn registerObject_visibility(
291 &self,
292 object: &ProtocolObject<dyn NSItemProviderWriting>,
293 visibility: NSItemProviderRepresentationVisibility,
294 );
295
296 #[cfg(all(feature = "NSObject", feature = "NSString"))]
297 #[unsafe(method(initWithItem:typeIdentifier:))]
298 #[unsafe(method_family = init)]
299 pub unsafe fn initWithItem_typeIdentifier(
300 this: Allocated<Self>,
301 item: Option<&ProtocolObject<dyn NSSecureCoding>>,
302 type_identifier: Option<&NSString>,
303 ) -> Retained<Self>;
304
305 #[cfg(feature = "NSURL")]
306 #[unsafe(method(initWithContentsOfURL:))]
307 #[unsafe(method_family = init)]
308 pub unsafe fn initWithContentsOfURL(
309 this: Allocated<Self>,
310 file_url: Option<&NSURL>,
311 ) -> Option<Retained<Self>>;
312
313 #[cfg(all(
314 feature = "NSDictionary",
315 feature = "NSError",
316 feature = "NSObject",
317 feature = "NSString",
318 feature = "block2"
319 ))]
320 #[unsafe(method(registerItemForTypeIdentifier:loadHandler:))]
321 #[unsafe(method_family = none)]
322 pub unsafe fn registerItemForTypeIdentifier_loadHandler(
323 &self,
324 type_identifier: &NSString,
325 load_handler: NSItemProviderLoadHandler,
326 );
327
328 #[cfg(all(
329 feature = "NSDictionary",
330 feature = "NSError",
331 feature = "NSObject",
332 feature = "NSString",
333 feature = "block2"
334 ))]
335 #[unsafe(method(loadItemForTypeIdentifier:options:completionHandler:))]
336 #[unsafe(method_family = none)]
337 pub unsafe fn loadItemForTypeIdentifier_options_completionHandler(
338 &self,
339 type_identifier: &NSString,
340 options: Option<&NSDictionary>,
341 completion_handler: NSItemProviderCompletionHandler,
342 );
343 );
344}
345
346impl NSItemProvider {
348 extern_methods!(
349 #[unsafe(method(new))]
350 #[unsafe(method_family = new)]
351 pub unsafe fn new() -> Retained<Self>;
352 );
353}
354
355extern "C" {
356 #[cfg(feature = "NSString")]
358 pub static NSItemProviderPreferredImageSizeKey: &'static NSString;
359}
360
361impl NSItemProvider {
363 extern_methods!(
364 #[cfg(all(
365 feature = "NSDictionary",
366 feature = "NSError",
367 feature = "NSObject",
368 feature = "block2"
369 ))]
370 #[unsafe(method(previewImageHandler))]
371 #[unsafe(method_family = none)]
372 pub unsafe fn previewImageHandler(&self) -> NSItemProviderLoadHandler;
373
374 #[cfg(all(
375 feature = "NSDictionary",
376 feature = "NSError",
377 feature = "NSObject",
378 feature = "block2"
379 ))]
380 #[unsafe(method(setPreviewImageHandler:))]
382 #[unsafe(method_family = none)]
383 pub unsafe fn setPreviewImageHandler(
384 &self,
385 preview_image_handler: NSItemProviderLoadHandler,
386 );
387
388 #[cfg(all(
389 feature = "NSDictionary",
390 feature = "NSError",
391 feature = "NSObject",
392 feature = "block2"
393 ))]
394 #[unsafe(method(loadPreviewImageWithOptions:completionHandler:))]
395 #[unsafe(method_family = none)]
396 pub unsafe fn loadPreviewImageWithOptions_completionHandler(
397 &self,
398 options: Option<&NSDictionary>,
399 completion_handler: NSItemProviderCompletionHandler,
400 );
401 );
402}
403
404extern "C" {
405 #[cfg(feature = "NSString")]
407 pub static NSExtensionJavaScriptPreprocessingResultsKey: Option<&'static NSString>;
408}
409
410extern "C" {
411 #[cfg(feature = "NSString")]
413 pub static NSExtensionJavaScriptFinalizeArgumentKey: Option<&'static NSString>;
414}
415
416extern "C" {
417 #[cfg(feature = "NSString")]
419 pub static NSItemProviderErrorDomain: &'static NSString;
420}
421
422#[repr(transparent)]
425#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
426pub struct NSItemProviderErrorCode(pub NSInteger);
427impl NSItemProviderErrorCode {
428 #[doc(alias = "NSItemProviderUnknownError")]
429 pub const UnknownError: Self = Self(-1);
430 #[doc(alias = "NSItemProviderItemUnavailableError")]
431 pub const ItemUnavailableError: Self = Self(-1000);
432 #[doc(alias = "NSItemProviderUnexpectedValueClassError")]
433 pub const UnexpectedValueClassError: Self = Self(-1100);
434 #[doc(alias = "NSItemProviderUnavailableCoercionError")]
435 pub const UnavailableCoercionError: Self = Self(-1200);
436}
437
438unsafe impl Encode for NSItemProviderErrorCode {
439 const ENCODING: Encoding = NSInteger::ENCODING;
440}
441
442unsafe impl RefEncode for NSItemProviderErrorCode {
443 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
444}