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::DynBlock<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::DynBlock<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 = *mut block2::DynBlock<
132 dyn Fn(NSItemProviderCompletionHandler, *const AnyClass, *mut NSDictionary),
133>;
134
135extern_class!(
136 #[unsafe(super(NSObject))]
138 #[derive(Debug, PartialEq, Eq, Hash)]
139 pub struct NSItemProvider;
140);
141
142#[cfg(feature = "NSObject")]
143extern_conformance!(
144 unsafe impl NSCopying for NSItemProvider {}
145);
146
147#[cfg(feature = "NSObject")]
148unsafe impl CopyingHelper for NSItemProvider {
149 type Result = Self;
150}
151
152extern_conformance!(
153 unsafe impl NSObjectProtocol for NSItemProvider {}
154);
155
156impl NSItemProvider {
157 extern_methods!(
158 #[unsafe(method(init))]
159 #[unsafe(method_family = init)]
160 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
161
162 #[cfg(all(
163 feature = "NSData",
164 feature = "NSError",
165 feature = "NSProgress",
166 feature = "NSString",
167 feature = "block2"
168 ))]
169 #[unsafe(method(registerDataRepresentationForTypeIdentifier:visibility:loadHandler:))]
170 #[unsafe(method_family = none)]
171 pub unsafe fn registerDataRepresentationForTypeIdentifier_visibility_loadHandler(
172 &self,
173 type_identifier: &NSString,
174 visibility: NSItemProviderRepresentationVisibility,
175 load_handler: &block2::DynBlock<
176 dyn Fn(
177 NonNull<block2::DynBlock<dyn Fn(*mut NSData, *mut NSError)>>,
178 ) -> *mut NSProgress,
179 >,
180 );
181
182 #[cfg(all(
183 feature = "NSError",
184 feature = "NSProgress",
185 feature = "NSString",
186 feature = "NSURL",
187 feature = "block2"
188 ))]
189 #[unsafe(method(registerFileRepresentationForTypeIdentifier:fileOptions:visibility:loadHandler:))]
190 #[unsafe(method_family = none)]
191 pub unsafe fn registerFileRepresentationForTypeIdentifier_fileOptions_visibility_loadHandler(
192 &self,
193 type_identifier: &NSString,
194 file_options: NSItemProviderFileOptions,
195 visibility: NSItemProviderRepresentationVisibility,
196 load_handler: &block2::DynBlock<
197 dyn Fn(
198 NonNull<block2::DynBlock<dyn Fn(*mut NSURL, Bool, *mut NSError)>>,
199 ) -> *mut NSProgress,
200 >,
201 );
202
203 #[cfg(all(feature = "NSArray", feature = "NSString"))]
204 #[unsafe(method(registeredTypeIdentifiers))]
205 #[unsafe(method_family = none)]
206 pub unsafe fn registeredTypeIdentifiers(&self) -> Retained<NSArray<NSString>>;
207
208 #[cfg(all(feature = "NSArray", feature = "NSString"))]
209 #[unsafe(method(registeredTypeIdentifiersWithFileOptions:))]
210 #[unsafe(method_family = none)]
211 pub unsafe fn registeredTypeIdentifiersWithFileOptions(
212 &self,
213 file_options: NSItemProviderFileOptions,
214 ) -> Retained<NSArray<NSString>>;
215
216 #[cfg(feature = "NSString")]
217 #[unsafe(method(hasItemConformingToTypeIdentifier:))]
218 #[unsafe(method_family = none)]
219 pub unsafe fn hasItemConformingToTypeIdentifier(&self, type_identifier: &NSString) -> bool;
220
221 #[cfg(feature = "NSString")]
222 #[unsafe(method(hasRepresentationConformingToTypeIdentifier:fileOptions:))]
223 #[unsafe(method_family = none)]
224 pub unsafe fn hasRepresentationConformingToTypeIdentifier_fileOptions(
225 &self,
226 type_identifier: &NSString,
227 file_options: NSItemProviderFileOptions,
228 ) -> bool;
229
230 #[cfg(all(
231 feature = "NSData",
232 feature = "NSError",
233 feature = "NSProgress",
234 feature = "NSString",
235 feature = "block2"
236 ))]
237 #[unsafe(method(loadDataRepresentationForTypeIdentifier:completionHandler:))]
238 #[unsafe(method_family = none)]
239 pub unsafe fn loadDataRepresentationForTypeIdentifier_completionHandler(
240 &self,
241 type_identifier: &NSString,
242 completion_handler: &block2::DynBlock<dyn Fn(*mut NSData, *mut NSError)>,
243 ) -> Retained<NSProgress>;
244
245 #[cfg(all(
246 feature = "NSError",
247 feature = "NSProgress",
248 feature = "NSString",
249 feature = "NSURL",
250 feature = "block2"
251 ))]
252 #[unsafe(method(loadFileRepresentationForTypeIdentifier:completionHandler:))]
253 #[unsafe(method_family = none)]
254 pub unsafe fn loadFileRepresentationForTypeIdentifier_completionHandler(
255 &self,
256 type_identifier: &NSString,
257 completion_handler: &block2::DynBlock<dyn Fn(*mut NSURL, *mut NSError)>,
258 ) -> Retained<NSProgress>;
259
260 #[cfg(all(
261 feature = "NSError",
262 feature = "NSProgress",
263 feature = "NSString",
264 feature = "NSURL",
265 feature = "block2"
266 ))]
267 #[unsafe(method(loadInPlaceFileRepresentationForTypeIdentifier:completionHandler:))]
268 #[unsafe(method_family = none)]
269 pub unsafe fn loadInPlaceFileRepresentationForTypeIdentifier_completionHandler(
270 &self,
271 type_identifier: &NSString,
272 completion_handler: &block2::DynBlock<dyn Fn(*mut NSURL, Bool, *mut NSError)>,
273 ) -> Retained<NSProgress>;
274
275 #[cfg(feature = "NSString")]
276 #[unsafe(method(suggestedName))]
277 #[unsafe(method_family = none)]
278 pub unsafe fn suggestedName(&self) -> Option<Retained<NSString>>;
279
280 #[cfg(feature = "NSString")]
281 #[unsafe(method(setSuggestedName:))]
283 #[unsafe(method_family = none)]
284 pub unsafe fn setSuggestedName(&self, suggested_name: Option<&NSString>);
285
286 #[unsafe(method(initWithObject:))]
287 #[unsafe(method_family = init)]
288 pub unsafe fn initWithObject(
289 this: Allocated<Self>,
290 object: &ProtocolObject<dyn NSItemProviderWriting>,
291 ) -> Retained<Self>;
292
293 #[unsafe(method(registerObject:visibility:))]
294 #[unsafe(method_family = none)]
295 pub unsafe fn registerObject_visibility(
296 &self,
297 object: &ProtocolObject<dyn NSItemProviderWriting>,
298 visibility: NSItemProviderRepresentationVisibility,
299 );
300
301 #[cfg(all(feature = "NSObject", feature = "NSString"))]
302 #[unsafe(method(initWithItem:typeIdentifier:))]
303 #[unsafe(method_family = init)]
304 pub unsafe fn initWithItem_typeIdentifier(
305 this: Allocated<Self>,
306 item: Option<&ProtocolObject<dyn NSSecureCoding>>,
307 type_identifier: Option<&NSString>,
308 ) -> Retained<Self>;
309
310 #[cfg(feature = "NSURL")]
311 #[unsafe(method(initWithContentsOfURL:))]
312 #[unsafe(method_family = init)]
313 pub unsafe fn initWithContentsOfURL(
314 this: Allocated<Self>,
315 file_url: Option<&NSURL>,
316 ) -> Option<Retained<Self>>;
317
318 #[cfg(all(
319 feature = "NSDictionary",
320 feature = "NSError",
321 feature = "NSObject",
322 feature = "NSString",
323 feature = "block2"
324 ))]
325 #[unsafe(method(registerItemForTypeIdentifier:loadHandler:))]
326 #[unsafe(method_family = none)]
327 pub unsafe fn registerItemForTypeIdentifier_loadHandler(
328 &self,
329 type_identifier: &NSString,
330 load_handler: NSItemProviderLoadHandler,
331 );
332
333 #[cfg(all(
334 feature = "NSDictionary",
335 feature = "NSError",
336 feature = "NSObject",
337 feature = "NSString",
338 feature = "block2"
339 ))]
340 #[unsafe(method(loadItemForTypeIdentifier:options:completionHandler:))]
341 #[unsafe(method_family = none)]
342 pub unsafe fn loadItemForTypeIdentifier_options_completionHandler(
343 &self,
344 type_identifier: &NSString,
345 options: Option<&NSDictionary>,
346 completion_handler: NSItemProviderCompletionHandler,
347 );
348 );
349}
350
351impl NSItemProvider {
353 extern_methods!(
354 #[unsafe(method(new))]
355 #[unsafe(method_family = new)]
356 pub unsafe fn new() -> Retained<Self>;
357 );
358}
359
360extern "C" {
361 #[cfg(feature = "NSString")]
363 pub static NSItemProviderPreferredImageSizeKey: &'static NSString;
364}
365
366impl NSItemProvider {
368 extern_methods!(
369 #[cfg(all(
370 feature = "NSDictionary",
371 feature = "NSError",
372 feature = "NSObject",
373 feature = "block2"
374 ))]
375 #[unsafe(method(previewImageHandler))]
376 #[unsafe(method_family = none)]
377 pub unsafe fn previewImageHandler(&self) -> NSItemProviderLoadHandler;
378
379 #[cfg(all(
380 feature = "NSDictionary",
381 feature = "NSError",
382 feature = "NSObject",
383 feature = "block2"
384 ))]
385 #[unsafe(method(setPreviewImageHandler:))]
387 #[unsafe(method_family = none)]
388 pub unsafe fn setPreviewImageHandler(
389 &self,
390 preview_image_handler: NSItemProviderLoadHandler,
391 );
392
393 #[cfg(all(
394 feature = "NSDictionary",
395 feature = "NSError",
396 feature = "NSObject",
397 feature = "block2"
398 ))]
399 #[unsafe(method(loadPreviewImageWithOptions:completionHandler:))]
400 #[unsafe(method_family = none)]
401 pub unsafe fn loadPreviewImageWithOptions_completionHandler(
402 &self,
403 options: Option<&NSDictionary>,
404 completion_handler: NSItemProviderCompletionHandler,
405 );
406 );
407}
408
409extern "C" {
410 #[cfg(feature = "NSString")]
412 pub static NSExtensionJavaScriptPreprocessingResultsKey: Option<&'static NSString>;
413}
414
415extern "C" {
416 #[cfg(feature = "NSString")]
418 pub static NSExtensionJavaScriptFinalizeArgumentKey: Option<&'static NSString>;
419}
420
421extern "C" {
422 #[cfg(feature = "NSString")]
424 pub static NSItemProviderErrorDomain: &'static NSString;
425}
426
427#[repr(transparent)]
430#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
431pub struct NSItemProviderErrorCode(pub NSInteger);
432impl NSItemProviderErrorCode {
433 #[doc(alias = "NSItemProviderUnknownError")]
434 pub const UnknownError: Self = Self(-1);
435 #[doc(alias = "NSItemProviderItemUnavailableError")]
436 pub const ItemUnavailableError: Self = Self(-1000);
437 #[doc(alias = "NSItemProviderUnexpectedValueClassError")]
438 pub const UnexpectedValueClassError: Self = Self(-1100);
439 #[doc(alias = "NSItemProviderUnavailableCoercionError")]
440 pub const UnavailableCoercionError: Self = Self(-1200);
441}
442
443unsafe impl Encode for NSItemProviderErrorCode {
444 const ENCODING: Encoding = NSInteger::ENCODING;
445}
446
447unsafe impl RefEncode for NSItemProviderErrorCode {
448 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
449}