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
74extern_conformance!(
75    unsafe impl NSObjectProtocol for NSFileAccessIntent {}
76);
77
78impl NSFileAccessIntent {
79    extern_methods!(
80        #[cfg(feature = "NSURL")]
81        #[unsafe(method(readingIntentWithURL:options:))]
82        #[unsafe(method_family = none)]
83        pub unsafe fn readingIntentWithURL_options(
84            url: &NSURL,
85            options: NSFileCoordinatorReadingOptions,
86        ) -> Retained<Self>;
87
88        #[cfg(feature = "NSURL")]
89        #[unsafe(method(writingIntentWithURL:options:))]
90        #[unsafe(method_family = none)]
91        pub unsafe fn writingIntentWithURL_options(
92            url: &NSURL,
93            options: NSFileCoordinatorWritingOptions,
94        ) -> Retained<Self>;
95
96        #[cfg(feature = "NSURL")]
97        #[unsafe(method(URL))]
98        #[unsafe(method_family = none)]
99        pub unsafe fn URL(&self) -> Retained<NSURL>;
100    );
101}
102
103/// Methods declared on superclass `NSObject`.
104impl NSFileAccessIntent {
105    extern_methods!(
106        #[unsafe(method(init))]
107        #[unsafe(method_family = init)]
108        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
109
110        #[unsafe(method(new))]
111        #[unsafe(method_family = new)]
112        pub unsafe fn new() -> Retained<Self>;
113    );
114}
115
116extern_class!(
117    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsfilecoordinator?language=objc)
118    #[unsafe(super(NSObject))]
119    #[derive(Debug, PartialEq, Eq, Hash)]
120    pub struct NSFileCoordinator;
121);
122
123extern_conformance!(
124    unsafe impl NSObjectProtocol for NSFileCoordinator {}
125);
126
127impl NSFileCoordinator {
128    extern_methods!(
129        #[cfg(feature = "NSFilePresenter")]
130        #[unsafe(method(addFilePresenter:))]
131        #[unsafe(method_family = none)]
132        pub unsafe fn addFilePresenter(file_presenter: &ProtocolObject<dyn NSFilePresenter>);
133
134        #[cfg(feature = "NSFilePresenter")]
135        #[unsafe(method(removeFilePresenter:))]
136        #[unsafe(method_family = none)]
137        pub unsafe fn removeFilePresenter(file_presenter: &ProtocolObject<dyn NSFilePresenter>);
138
139        #[cfg(all(feature = "NSArray", feature = "NSFilePresenter"))]
140        #[unsafe(method(filePresenters))]
141        #[unsafe(method_family = none)]
142        pub unsafe fn filePresenters() -> Retained<NSArray<ProtocolObject<dyn NSFilePresenter>>>;
143
144        #[cfg(feature = "NSFilePresenter")]
145        #[unsafe(method(initWithFilePresenter:))]
146        #[unsafe(method_family = init)]
147        pub unsafe fn initWithFilePresenter(
148            this: Allocated<Self>,
149            file_presenter_or_nil: Option<&ProtocolObject<dyn NSFilePresenter>>,
150        ) -> Retained<Self>;
151
152        #[cfg(feature = "NSString")]
153        #[unsafe(method(purposeIdentifier))]
154        #[unsafe(method_family = none)]
155        pub unsafe fn purposeIdentifier(&self) -> Retained<NSString>;
156
157        #[cfg(feature = "NSString")]
158        /// Setter for [`purposeIdentifier`][Self::purposeIdentifier].
159        #[unsafe(method(setPurposeIdentifier:))]
160        #[unsafe(method_family = none)]
161        pub unsafe fn setPurposeIdentifier(&self, purpose_identifier: &NSString);
162
163        #[cfg(all(
164            feature = "NSArray",
165            feature = "NSError",
166            feature = "NSOperation",
167            feature = "block2"
168        ))]
169        #[unsafe(method(coordinateAccessWithIntents:queue:byAccessor:))]
170        #[unsafe(method_family = none)]
171        pub unsafe fn coordinateAccessWithIntents_queue_byAccessor(
172            &self,
173            intents: &NSArray<NSFileAccessIntent>,
174            queue: &NSOperationQueue,
175            accessor: &block2::DynBlock<dyn Fn(*mut NSError)>,
176        );
177
178        #[cfg(all(feature = "NSError", feature = "NSURL", feature = "block2"))]
179        #[unsafe(method(coordinateReadingItemAtURL:options:error:byAccessor:))]
180        #[unsafe(method_family = none)]
181        pub unsafe fn coordinateReadingItemAtURL_options_error_byAccessor(
182            &self,
183            url: &NSURL,
184            options: NSFileCoordinatorReadingOptions,
185            out_error: Option<&mut Option<Retained<NSError>>>,
186            reader: &block2::DynBlock<dyn Fn(NonNull<NSURL>) + '_>,
187        );
188
189        #[cfg(all(feature = "NSError", feature = "NSURL", feature = "block2"))]
190        #[unsafe(method(coordinateWritingItemAtURL:options:error:byAccessor:))]
191        #[unsafe(method_family = none)]
192        pub unsafe fn coordinateWritingItemAtURL_options_error_byAccessor(
193            &self,
194            url: &NSURL,
195            options: NSFileCoordinatorWritingOptions,
196            out_error: Option<&mut Option<Retained<NSError>>>,
197            writer: &block2::DynBlock<dyn Fn(NonNull<NSURL>) + '_>,
198        );
199
200        #[cfg(all(feature = "NSError", feature = "NSURL", feature = "block2"))]
201        #[unsafe(method(coordinateReadingItemAtURL:options:writingItemAtURL:options:error:byAccessor:))]
202        #[unsafe(method_family = none)]
203        pub unsafe fn coordinateReadingItemAtURL_options_writingItemAtURL_options_error_byAccessor(
204            &self,
205            reading_url: &NSURL,
206            reading_options: NSFileCoordinatorReadingOptions,
207            writing_url: &NSURL,
208            writing_options: NSFileCoordinatorWritingOptions,
209            out_error: Option<&mut Option<Retained<NSError>>>,
210            reader_writer: &block2::DynBlock<dyn Fn(NonNull<NSURL>, NonNull<NSURL>) + '_>,
211        );
212
213        #[cfg(all(feature = "NSError", feature = "NSURL", feature = "block2"))]
214        #[unsafe(method(coordinateWritingItemAtURL:options:writingItemAtURL:options:error:byAccessor:))]
215        #[unsafe(method_family = none)]
216        pub unsafe fn coordinateWritingItemAtURL_options_writingItemAtURL_options_error_byAccessor(
217            &self,
218            url1: &NSURL,
219            options1: NSFileCoordinatorWritingOptions,
220            url2: &NSURL,
221            options2: NSFileCoordinatorWritingOptions,
222            out_error: Option<&mut Option<Retained<NSError>>>,
223            writer: &block2::DynBlock<dyn Fn(NonNull<NSURL>, NonNull<NSURL>) + '_>,
224        );
225
226        #[cfg(all(
227            feature = "NSArray",
228            feature = "NSError",
229            feature = "NSURL",
230            feature = "block2"
231        ))]
232        #[unsafe(method(prepareForReadingItemsAtURLs:options:writingItemsAtURLs:options:error:byAccessor:))]
233        #[unsafe(method_family = none)]
234        pub unsafe fn prepareForReadingItemsAtURLs_options_writingItemsAtURLs_options_error_byAccessor(
235            &self,
236            reading_ur_ls: &NSArray<NSURL>,
237            reading_options: NSFileCoordinatorReadingOptions,
238            writing_ur_ls: &NSArray<NSURL>,
239            writing_options: NSFileCoordinatorWritingOptions,
240            out_error: Option<&mut Option<Retained<NSError>>>,
241            batch_accessor: &block2::DynBlock<dyn Fn(NonNull<block2::DynBlock<dyn Fn()>>) + '_>,
242        );
243
244        #[cfg(feature = "NSURL")]
245        #[unsafe(method(itemAtURL:willMoveToURL:))]
246        #[unsafe(method_family = none)]
247        pub unsafe fn itemAtURL_willMoveToURL(&self, old_url: &NSURL, new_url: &NSURL);
248
249        #[cfg(feature = "NSURL")]
250        #[unsafe(method(itemAtURL:didMoveToURL:))]
251        #[unsafe(method_family = none)]
252        pub unsafe fn itemAtURL_didMoveToURL(&self, old_url: &NSURL, new_url: &NSURL);
253
254        #[cfg(all(feature = "NSSet", feature = "NSString", feature = "NSURL"))]
255        #[unsafe(method(itemAtURL:didChangeUbiquityAttributes:))]
256        #[unsafe(method_family = none)]
257        pub unsafe fn itemAtURL_didChangeUbiquityAttributes(
258            &self,
259            url: &NSURL,
260            attributes: &NSSet<NSURLResourceKey>,
261        );
262
263        #[unsafe(method(cancel))]
264        #[unsafe(method_family = none)]
265        pub unsafe fn cancel(&self);
266    );
267}
268
269/// Methods declared on superclass `NSObject`.
270impl NSFileCoordinator {
271    extern_methods!(
272        #[unsafe(method(init))]
273        #[unsafe(method_family = init)]
274        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
275
276        #[unsafe(method(new))]
277        #[unsafe(method_family = new)]
278        pub unsafe fn new() -> Retained<Self>;
279    );
280}