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 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 fn writableTypeIdentifiersForItemProvider(&self) -> Retained<NSArray<NSString>>;
66
67 #[cfg(feature = "NSString")]
68 #[optional]
69 #[unsafe(method(itemProviderVisibilityForRepresentationWithTypeIdentifier:))]
70 #[unsafe(method_family = none)]
71 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 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:))]
95 #[unsafe(method_family = none)]
96 unsafe fn loadDataWithTypeIdentifier_forItemProviderCompletionHandler(
97 &self,
98 type_identifier: &NSString,
99 completion_handler: &block2::DynBlock<dyn Fn(*mut NSData, *mut NSError)>,
100 ) -> Option<Retained<NSProgress>>;
101 }
102);
103
104extern_protocol!(
105 pub unsafe trait NSItemProviderReading: NSObjectProtocol {
107 #[cfg(all(feature = "NSArray", feature = "NSString"))]
108 #[unsafe(method(readableTypeIdentifiersForItemProvider))]
109 #[unsafe(method_family = none)]
110 fn readableTypeIdentifiersForItemProvider() -> Retained<NSArray<NSString>>;
111
112 #[cfg(all(feature = "NSData", feature = "NSError", feature = "NSString"))]
113 #[unsafe(method(objectWithItemProviderData:typeIdentifier:error:_))]
114 #[unsafe(method_family = none)]
115 fn objectWithItemProviderData_typeIdentifier_error(
116 data: &NSData,
117 type_identifier: &NSString,
118 ) -> Result<Retained<Self>, Retained<NSError>>;
119 }
120);
121
122#[cfg(all(feature = "NSError", feature = "NSObject", feature = "block2"))]
124pub type NSItemProviderCompletionHandler =
125 *mut block2::DynBlock<dyn Fn(*mut ProtocolObject<dyn NSSecureCoding>, *mut NSError)>;
126
127#[cfg(all(
129 feature = "NSDictionary",
130 feature = "NSError",
131 feature = "NSObject",
132 feature = "block2"
133))]
134pub type NSItemProviderLoadHandler = *mut block2::DynBlock<
135 dyn Fn(NSItemProviderCompletionHandler, *const AnyClass, *mut NSDictionary),
136>;
137
138extern_class!(
139 #[unsafe(super(NSObject))]
141 #[derive(Debug, PartialEq, Eq, Hash)]
142 pub struct NSItemProvider;
143);
144
145#[cfg(feature = "NSObject")]
146extern_conformance!(
147 unsafe impl NSCopying for NSItemProvider {}
148);
149
150#[cfg(feature = "NSObject")]
151unsafe impl CopyingHelper for NSItemProvider {
152 type Result = Self;
153}
154
155extern_conformance!(
156 unsafe impl NSObjectProtocol for NSItemProvider {}
157);
158
159impl NSItemProvider {
160 extern_methods!(
161 #[unsafe(method(init))]
162 #[unsafe(method_family = init)]
163 pub fn init(this: Allocated<Self>) -> Retained<Self>;
164
165 #[cfg(all(
166 feature = "NSData",
167 feature = "NSError",
168 feature = "NSProgress",
169 feature = "NSString",
170 feature = "block2"
171 ))]
172 #[unsafe(method(registerDataRepresentationForTypeIdentifier:visibility:loadHandler:))]
176 #[unsafe(method_family = none)]
177 pub unsafe fn registerDataRepresentationForTypeIdentifier_visibility_loadHandler(
178 &self,
179 type_identifier: &NSString,
180 visibility: NSItemProviderRepresentationVisibility,
181 load_handler: &block2::DynBlock<
182 dyn Fn(
183 NonNull<block2::DynBlock<dyn Fn(*mut NSData, *mut NSError)>>,
184 ) -> *mut NSProgress,
185 >,
186 );
187
188 #[cfg(all(
189 feature = "NSError",
190 feature = "NSProgress",
191 feature = "NSString",
192 feature = "NSURL",
193 feature = "block2"
194 ))]
195 #[unsafe(method(registerFileRepresentationForTypeIdentifier:fileOptions:visibility:loadHandler:))]
199 #[unsafe(method_family = none)]
200 pub unsafe fn registerFileRepresentationForTypeIdentifier_fileOptions_visibility_loadHandler(
201 &self,
202 type_identifier: &NSString,
203 file_options: NSItemProviderFileOptions,
204 visibility: NSItemProviderRepresentationVisibility,
205 load_handler: &block2::DynBlock<
206 dyn Fn(
207 NonNull<block2::DynBlock<dyn Fn(*mut NSURL, Bool, *mut NSError)>>,
208 ) -> *mut NSProgress,
209 >,
210 );
211
212 #[cfg(all(feature = "NSArray", feature = "NSString"))]
213 #[unsafe(method(registeredTypeIdentifiers))]
214 #[unsafe(method_family = none)]
215 pub fn registeredTypeIdentifiers(&self) -> Retained<NSArray<NSString>>;
216
217 #[cfg(all(feature = "NSArray", feature = "NSString"))]
218 #[unsafe(method(registeredTypeIdentifiersWithFileOptions:))]
219 #[unsafe(method_family = none)]
220 pub fn registeredTypeIdentifiersWithFileOptions(
221 &self,
222 file_options: NSItemProviderFileOptions,
223 ) -> Retained<NSArray<NSString>>;
224
225 #[cfg(feature = "NSString")]
226 #[unsafe(method(hasItemConformingToTypeIdentifier:))]
227 #[unsafe(method_family = none)]
228 pub fn hasItemConformingToTypeIdentifier(&self, type_identifier: &NSString) -> bool;
229
230 #[cfg(feature = "NSString")]
231 #[unsafe(method(hasRepresentationConformingToTypeIdentifier:fileOptions:))]
232 #[unsafe(method_family = none)]
233 pub fn hasRepresentationConformingToTypeIdentifier_fileOptions(
234 &self,
235 type_identifier: &NSString,
236 file_options: NSItemProviderFileOptions,
237 ) -> bool;
238
239 #[cfg(all(
240 feature = "NSData",
241 feature = "NSError",
242 feature = "NSProgress",
243 feature = "NSString",
244 feature = "block2"
245 ))]
246 #[unsafe(method(loadDataRepresentationForTypeIdentifier:completionHandler:))]
250 #[unsafe(method_family = none)]
251 pub unsafe fn loadDataRepresentationForTypeIdentifier_completionHandler(
252 &self,
253 type_identifier: &NSString,
254 completion_handler: &block2::DynBlock<dyn Fn(*mut NSData, *mut NSError)>,
255 ) -> Retained<NSProgress>;
256
257 #[cfg(all(
258 feature = "NSError",
259 feature = "NSProgress",
260 feature = "NSString",
261 feature = "NSURL",
262 feature = "block2"
263 ))]
264 #[unsafe(method(loadFileRepresentationForTypeIdentifier:completionHandler:))]
268 #[unsafe(method_family = none)]
269 pub unsafe fn loadFileRepresentationForTypeIdentifier_completionHandler(
270 &self,
271 type_identifier: &NSString,
272 completion_handler: &block2::DynBlock<dyn Fn(*mut NSURL, *mut NSError)>,
273 ) -> Retained<NSProgress>;
274
275 #[cfg(all(
276 feature = "NSError",
277 feature = "NSProgress",
278 feature = "NSString",
279 feature = "NSURL",
280 feature = "block2"
281 ))]
282 #[unsafe(method(loadInPlaceFileRepresentationForTypeIdentifier:completionHandler:))]
286 #[unsafe(method_family = none)]
287 pub unsafe fn loadInPlaceFileRepresentationForTypeIdentifier_completionHandler(
288 &self,
289 type_identifier: &NSString,
290 completion_handler: &block2::DynBlock<dyn Fn(*mut NSURL, Bool, *mut NSError)>,
291 ) -> Retained<NSProgress>;
292
293 #[cfg(feature = "NSString")]
294 #[unsafe(method(suggestedName))]
295 #[unsafe(method_family = none)]
296 pub fn suggestedName(&self) -> Option<Retained<NSString>>;
297
298 #[cfg(feature = "NSString")]
299 #[unsafe(method(setSuggestedName:))]
303 #[unsafe(method_family = none)]
304 pub fn setSuggestedName(&self, suggested_name: Option<&NSString>);
305
306 #[unsafe(method(initWithObject:))]
307 #[unsafe(method_family = init)]
308 pub fn initWithObject(
309 this: Allocated<Self>,
310 object: &ProtocolObject<dyn NSItemProviderWriting>,
311 ) -> Retained<Self>;
312
313 #[unsafe(method(registerObject:visibility:))]
314 #[unsafe(method_family = none)]
315 pub fn registerObject_visibility(
316 &self,
317 object: &ProtocolObject<dyn NSItemProviderWriting>,
318 visibility: NSItemProviderRepresentationVisibility,
319 );
320
321 #[cfg(all(feature = "NSObject", feature = "NSString"))]
322 #[unsafe(method(initWithItem:typeIdentifier:))]
326 #[unsafe(method_family = init)]
327 pub unsafe fn initWithItem_typeIdentifier(
328 this: Allocated<Self>,
329 item: Option<&ProtocolObject<dyn NSSecureCoding>>,
330 type_identifier: Option<&NSString>,
331 ) -> Retained<Self>;
332
333 #[cfg(feature = "NSURL")]
334 #[unsafe(method(initWithContentsOfURL:))]
338 #[unsafe(method_family = init)]
339 pub unsafe fn initWithContentsOfURL(
340 this: Allocated<Self>,
341 file_url: Option<&NSURL>,
342 ) -> Option<Retained<Self>>;
343
344 #[cfg(all(
345 feature = "NSDictionary",
346 feature = "NSError",
347 feature = "NSObject",
348 feature = "NSString",
349 feature = "block2"
350 ))]
351 #[unsafe(method(registerItemForTypeIdentifier:loadHandler:))]
355 #[unsafe(method_family = none)]
356 pub unsafe fn registerItemForTypeIdentifier_loadHandler(
357 &self,
358 type_identifier: &NSString,
359 load_handler: NSItemProviderLoadHandler,
360 );
361
362 #[cfg(all(
363 feature = "NSDictionary",
364 feature = "NSError",
365 feature = "NSObject",
366 feature = "NSString",
367 feature = "block2"
368 ))]
369 #[unsafe(method(loadItemForTypeIdentifier:options:completionHandler:))]
374 #[unsafe(method_family = none)]
375 pub unsafe fn loadItemForTypeIdentifier_options_completionHandler(
376 &self,
377 type_identifier: &NSString,
378 options: Option<&NSDictionary>,
379 completion_handler: NSItemProviderCompletionHandler,
380 );
381 );
382}
383
384impl NSItemProvider {
386 extern_methods!(
387 #[unsafe(method(new))]
388 #[unsafe(method_family = new)]
389 pub fn new() -> Retained<Self>;
390 );
391}
392
393impl DefaultRetained for NSItemProvider {
394 #[inline]
395 fn default_retained() -> Retained<Self> {
396 Self::new()
397 }
398}
399
400extern "C" {
401 #[cfg(feature = "NSString")]
403 pub static NSItemProviderPreferredImageSizeKey: &'static NSString;
404}
405
406impl NSItemProvider {
408 extern_methods!(
409 #[cfg(all(
410 feature = "NSDictionary",
411 feature = "NSError",
412 feature = "NSObject",
413 feature = "block2"
414 ))]
415 #[unsafe(method(previewImageHandler))]
419 #[unsafe(method_family = none)]
420 pub unsafe fn previewImageHandler(&self) -> NSItemProviderLoadHandler;
421
422 #[cfg(all(
423 feature = "NSDictionary",
424 feature = "NSError",
425 feature = "NSObject",
426 feature = "block2"
427 ))]
428 #[unsafe(method(setPreviewImageHandler:))]
436 #[unsafe(method_family = none)]
437 pub unsafe fn setPreviewImageHandler(
438 &self,
439 preview_image_handler: NSItemProviderLoadHandler,
440 );
441
442 #[cfg(all(
443 feature = "NSDictionary",
444 feature = "NSError",
445 feature = "NSObject",
446 feature = "block2"
447 ))]
448 #[unsafe(method(loadPreviewImageWithOptions:completionHandler:))]
454 #[unsafe(method_family = none)]
455 pub unsafe fn loadPreviewImageWithOptions_completionHandler(
456 &self,
457 options: Option<&NSDictionary>,
458 completion_handler: NSItemProviderCompletionHandler,
459 );
460 );
461}
462
463extern "C" {
464 #[cfg(feature = "NSString")]
466 pub static NSExtensionJavaScriptPreprocessingResultsKey: Option<&'static NSString>;
467}
468
469extern "C" {
470 #[cfg(feature = "NSString")]
472 pub static NSExtensionJavaScriptFinalizeArgumentKey: Option<&'static NSString>;
473}
474
475extern "C" {
476 #[cfg(feature = "NSString")]
478 pub static NSItemProviderErrorDomain: &'static NSString;
479}
480
481#[repr(transparent)]
484#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
485pub struct NSItemProviderErrorCode(pub NSInteger);
486impl NSItemProviderErrorCode {
487 #[doc(alias = "NSItemProviderUnknownError")]
488 pub const UnknownError: Self = Self(-1);
489 #[doc(alias = "NSItemProviderItemUnavailableError")]
490 pub const ItemUnavailableError: Self = Self(-1000);
491 #[doc(alias = "NSItemProviderUnexpectedValueClassError")]
492 pub const UnexpectedValueClassError: Self = Self(-1100);
493 #[doc(alias = "NSItemProviderUnavailableCoercionError")]
494 pub const UnavailableCoercionError: Self = Self(-1200);
495}
496
497unsafe impl Encode for NSItemProviderErrorCode {
498 const ENCODING: Encoding = NSInteger::ENCODING;
499}
500
501unsafe impl RefEncode for NSItemProviderErrorCode {
502 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
503}