objc2_foundation/generated/
NSFileCoordinator.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::*;
6
7use crate::*;
8
9/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsfilecoordinatorreadingoptions?language=objc)
10// NS_OPTIONS
11#[repr(transparent)]
12#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13pub struct NSFileCoordinatorReadingOptions(pub NSUInteger);
14bitflags::bitflags! {
15    impl NSFileCoordinatorReadingOptions: NSUInteger {
16        #[doc(alias = "NSFileCoordinatorReadingWithoutChanges")]
17        const WithoutChanges = 1<<0;
18        #[doc(alias = "NSFileCoordinatorReadingResolvesSymbolicLink")]
19        const ResolvesSymbolicLink = 1<<1;
20        #[doc(alias = "NSFileCoordinatorReadingImmediatelyAvailableMetadataOnly")]
21        const ImmediatelyAvailableMetadataOnly = 1<<2;
22        #[doc(alias = "NSFileCoordinatorReadingForUploading")]
23        const ForUploading = 1<<3;
24    }
25}
26
27unsafe impl Encode for NSFileCoordinatorReadingOptions {
28    const ENCODING: Encoding = NSUInteger::ENCODING;
29}
30
31unsafe impl RefEncode for NSFileCoordinatorReadingOptions {
32    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
33}
34
35/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsfilecoordinatorwritingoptions?language=objc)
36// NS_OPTIONS
37#[repr(transparent)]
38#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
39pub struct NSFileCoordinatorWritingOptions(pub NSUInteger);
40bitflags::bitflags! {
41    impl NSFileCoordinatorWritingOptions: NSUInteger {
42        #[doc(alias = "NSFileCoordinatorWritingForDeleting")]
43        const ForDeleting = 1<<0;
44        #[doc(alias = "NSFileCoordinatorWritingForMoving")]
45        const ForMoving = 1<<1;
46        #[doc(alias = "NSFileCoordinatorWritingForMerging")]
47        const ForMerging = 1<<2;
48        #[doc(alias = "NSFileCoordinatorWritingForReplacing")]
49        const ForReplacing = 1<<3;
50        #[doc(alias = "NSFileCoordinatorWritingContentIndependentMetadataOnly")]
51        const ContentIndependentMetadataOnly = 1<<4;
52    }
53}
54
55unsafe impl Encode for NSFileCoordinatorWritingOptions {
56    const ENCODING: Encoding = NSUInteger::ENCODING;
57}
58
59unsafe impl RefEncode for NSFileCoordinatorWritingOptions {
60    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
61}
62
63extern_class!(
64    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsfileaccessintent?language=objc)
65    #[unsafe(super(NSObject))]
66    #[derive(Debug, PartialEq, Eq, Hash)]
67    pub struct NSFileAccessIntent;
68);
69
70unsafe impl Send for NSFileAccessIntent {}
71
72unsafe impl Sync for NSFileAccessIntent {}
73
74unsafe impl NSObjectProtocol for NSFileAccessIntent {}
75
76impl NSFileAccessIntent {
77    extern_methods!(
78        #[cfg(feature = "NSURL")]
79        #[unsafe(method(readingIntentWithURL:options:))]
80        #[unsafe(method_family = none)]
81        pub unsafe fn readingIntentWithURL_options(
82            url: &NSURL,
83            options: NSFileCoordinatorReadingOptions,
84        ) -> Retained<Self>;
85
86        #[cfg(feature = "NSURL")]
87        #[unsafe(method(writingIntentWithURL:options:))]
88        #[unsafe(method_family = none)]
89        pub unsafe fn writingIntentWithURL_options(
90            url: &NSURL,
91            options: NSFileCoordinatorWritingOptions,
92        ) -> Retained<Self>;
93
94        #[cfg(feature = "NSURL")]
95        #[unsafe(method(URL))]
96        #[unsafe(method_family = none)]
97        pub unsafe fn URL(&self) -> Retained<NSURL>;
98    );
99}
100
101/// Methods declared on superclass `NSObject`.
102impl NSFileAccessIntent {
103    extern_methods!(
104        #[unsafe(method(init))]
105        #[unsafe(method_family = init)]
106        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
107
108        #[unsafe(method(new))]
109        #[unsafe(method_family = new)]
110        pub unsafe fn new() -> Retained<Self>;
111    );
112}
113
114extern_class!(
115    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsfilecoordinator?language=objc)
116    #[unsafe(super(NSObject))]
117    #[derive(Debug, PartialEq, Eq, Hash)]
118    pub struct NSFileCoordinator;
119);
120
121unsafe impl NSObjectProtocol for NSFileCoordinator {}
122
123impl NSFileCoordinator {
124    extern_methods!(
125        #[cfg(feature = "NSFilePresenter")]
126        #[unsafe(method(addFilePresenter:))]
127        #[unsafe(method_family = none)]
128        pub unsafe fn addFilePresenter(file_presenter: &ProtocolObject<dyn NSFilePresenter>);
129
130        #[cfg(feature = "NSFilePresenter")]
131        #[unsafe(method(removeFilePresenter:))]
132        #[unsafe(method_family = none)]
133        pub unsafe fn removeFilePresenter(file_presenter: &ProtocolObject<dyn NSFilePresenter>);
134
135        #[cfg(all(feature = "NSArray", feature = "NSFilePresenter"))]
136        #[unsafe(method(filePresenters))]
137        #[unsafe(method_family = none)]
138        pub unsafe fn filePresenters() -> Retained<NSArray<ProtocolObject<dyn NSFilePresenter>>>;
139
140        #[cfg(feature = "NSFilePresenter")]
141        #[unsafe(method(initWithFilePresenter:))]
142        #[unsafe(method_family = init)]
143        pub unsafe fn initWithFilePresenter(
144            this: Allocated<Self>,
145            file_presenter_or_nil: Option<&ProtocolObject<dyn NSFilePresenter>>,
146        ) -> Retained<Self>;
147
148        #[cfg(feature = "NSString")]
149        #[unsafe(method(purposeIdentifier))]
150        #[unsafe(method_family = none)]
151        pub unsafe fn purposeIdentifier(&self) -> Retained<NSString>;
152
153        #[cfg(feature = "NSString")]
154        /// Setter for [`purposeIdentifier`][Self::purposeIdentifier].
155        #[unsafe(method(setPurposeIdentifier:))]
156        #[unsafe(method_family = none)]
157        pub unsafe fn setPurposeIdentifier(&self, purpose_identifier: &NSString);
158
159        #[cfg(all(
160            feature = "NSArray",
161            feature = "NSError",
162            feature = "NSOperation",
163            feature = "block2"
164        ))]
165        #[unsafe(method(coordinateAccessWithIntents:queue:byAccessor:))]
166        #[unsafe(method_family = none)]
167        pub unsafe fn coordinateAccessWithIntents_queue_byAccessor(
168            &self,
169            intents: &NSArray<NSFileAccessIntent>,
170            queue: &NSOperationQueue,
171            accessor: &block2::Block<dyn Fn(*mut NSError)>,
172        );
173
174        #[cfg(all(feature = "NSError", feature = "NSURL", feature = "block2"))]
175        #[unsafe(method(coordinateReadingItemAtURL:options:error:byAccessor:))]
176        #[unsafe(method_family = none)]
177        pub unsafe fn coordinateReadingItemAtURL_options_error_byAccessor(
178            &self,
179            url: &NSURL,
180            options: NSFileCoordinatorReadingOptions,
181            out_error: Option<&mut Option<Retained<NSError>>>,
182            reader: &block2::Block<dyn Fn(NonNull<NSURL>) + '_>,
183        );
184
185        #[cfg(all(feature = "NSError", feature = "NSURL", feature = "block2"))]
186        #[unsafe(method(coordinateWritingItemAtURL:options:error:byAccessor:))]
187        #[unsafe(method_family = none)]
188        pub unsafe fn coordinateWritingItemAtURL_options_error_byAccessor(
189            &self,
190            url: &NSURL,
191            options: NSFileCoordinatorWritingOptions,
192            out_error: Option<&mut Option<Retained<NSError>>>,
193            writer: &block2::Block<dyn Fn(NonNull<NSURL>) + '_>,
194        );
195
196        #[cfg(all(feature = "NSError", feature = "NSURL", feature = "block2"))]
197        #[unsafe(method(coordinateReadingItemAtURL:options:writingItemAtURL:options:error:byAccessor:))]
198        #[unsafe(method_family = none)]
199        pub unsafe fn coordinateReadingItemAtURL_options_writingItemAtURL_options_error_byAccessor(
200            &self,
201            reading_url: &NSURL,
202            reading_options: NSFileCoordinatorReadingOptions,
203            writing_url: &NSURL,
204            writing_options: NSFileCoordinatorWritingOptions,
205            out_error: Option<&mut Option<Retained<NSError>>>,
206            reader_writer: &block2::Block<dyn Fn(NonNull<NSURL>, NonNull<NSURL>) + '_>,
207        );
208
209        #[cfg(all(feature = "NSError", feature = "NSURL", feature = "block2"))]
210        #[unsafe(method(coordinateWritingItemAtURL:options:writingItemAtURL:options:error:byAccessor:))]
211        #[unsafe(method_family = none)]
212        pub unsafe fn coordinateWritingItemAtURL_options_writingItemAtURL_options_error_byAccessor(
213            &self,
214            url1: &NSURL,
215            options1: NSFileCoordinatorWritingOptions,
216            url2: &NSURL,
217            options2: NSFileCoordinatorWritingOptions,
218            out_error: Option<&mut Option<Retained<NSError>>>,
219            writer: &block2::Block<dyn Fn(NonNull<NSURL>, NonNull<NSURL>) + '_>,
220        );
221
222        #[cfg(all(
223            feature = "NSArray",
224            feature = "NSError",
225            feature = "NSURL",
226            feature = "block2"
227        ))]
228        #[unsafe(method(prepareForReadingItemsAtURLs:options:writingItemsAtURLs:options:error:byAccessor:))]
229        #[unsafe(method_family = none)]
230        pub unsafe fn prepareForReadingItemsAtURLs_options_writingItemsAtURLs_options_error_byAccessor(
231            &self,
232            reading_ur_ls: &NSArray<NSURL>,
233            reading_options: NSFileCoordinatorReadingOptions,
234            writing_ur_ls: &NSArray<NSURL>,
235            writing_options: NSFileCoordinatorWritingOptions,
236            out_error: Option<&mut Option<Retained<NSError>>>,
237            batch_accessor: &block2::Block<dyn Fn(NonNull<block2::Block<dyn Fn()>>) + '_>,
238        );
239
240        #[cfg(feature = "NSURL")]
241        #[unsafe(method(itemAtURL:willMoveToURL:))]
242        #[unsafe(method_family = none)]
243        pub unsafe fn itemAtURL_willMoveToURL(&self, old_url: &NSURL, new_url: &NSURL);
244
245        #[cfg(feature = "NSURL")]
246        #[unsafe(method(itemAtURL:didMoveToURL:))]
247        #[unsafe(method_family = none)]
248        pub unsafe fn itemAtURL_didMoveToURL(&self, old_url: &NSURL, new_url: &NSURL);
249
250        #[cfg(all(feature = "NSSet", feature = "NSString", feature = "NSURL"))]
251        #[unsafe(method(itemAtURL:didChangeUbiquityAttributes:))]
252        #[unsafe(method_family = none)]
253        pub unsafe fn itemAtURL_didChangeUbiquityAttributes(
254            &self,
255            url: &NSURL,
256            attributes: &NSSet<NSURLResourceKey>,
257        );
258
259        #[unsafe(method(cancel))]
260        #[unsafe(method_family = none)]
261        pub unsafe fn cancel(&self);
262    );
263}
264
265/// Methods declared on superclass `NSObject`.
266impl NSFileCoordinator {
267    extern_methods!(
268        #[unsafe(method(init))]
269        #[unsafe(method_family = init)]
270        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
271
272        #[unsafe(method(new))]
273        #[unsafe(method_family = new)]
274        pub unsafe fn new() -> Retained<Self>;
275    );
276}