objc2_io_bluetooth/generated/objc2/OBEXFileTransferServices.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#[cfg(feature = "objc2-core-foundation")]
7use objc2_core_foundation::*;
8#[cfg(feature = "objc2-foundation")]
9use objc2_foundation::*;
10
11use crate::*;
12
13extern_class!(
14 /// [Apple's documentation](https://developer.apple.com/documentation/iobluetooth/obexfiletransferservices?language=objc)
15 #[unsafe(super(NSObject))]
16 #[derive(Debug, PartialEq, Eq, Hash)]
17 pub struct OBEXFileTransferServices;
18);
19
20extern_conformance!(
21 unsafe impl NSObjectProtocol for OBEXFileTransferServices {}
22);
23
24impl OBEXFileTransferServices {
25 extern_methods!(
26 /// # Safety
27 ///
28 /// This is not retained internally, you must ensure the object is still alive.
29 #[unsafe(method(delegate))]
30 #[unsafe(method_family = none)]
31 pub unsafe fn delegate(&self) -> Option<Retained<AnyObject>>;
32
33 /// Setter for [`delegate`][Self::delegate].
34 ///
35 /// # Safety
36 ///
37 /// - `delegate` should be of the correct type.
38 /// - `delegate` might not allow `None`.
39 /// - This is unretained, you must ensure the object is kept alive while in use.
40 #[unsafe(method(setDelegate:))]
41 #[unsafe(method_family = none)]
42 pub unsafe fn setDelegate(&self, delegate: Option<&AnyObject>);
43
44 #[cfg(all(feature = "IOBluetoothOBEXSession", feature = "OBEXSession"))]
45 /// Create a new OBEXFileTransferServices object
46 ///
47 /// This object must be constructed with a valid IOBluetoothOBEXSession. The given
48 /// IOBluetoothOBEXSession does not need to be connected to the remote server.
49 /// This module can be manually connected through the connect(void) method.
50 ///
51 /// Parameter `inOBEXSession`: A valid IOBluetoothOBEXSession
52 ///
53 /// Returns: A newly created OBEXFileTransferServices object on success, nil on failure
54 ///
55 /// # Safety
56 ///
57 /// `in_obex_session` might not allow `None`.
58 #[unsafe(method(withOBEXSession:))]
59 #[unsafe(method_family = none)]
60 pub unsafe fn withOBEXSession(
61 in_obex_session: Option<&IOBluetoothOBEXSession>,
62 ) -> Option<Retained<Self>>;
63
64 #[cfg(all(feature = "IOBluetoothOBEXSession", feature = "OBEXSession"))]
65 /// Create a new OBEXFileTransferServices object
66 ///
67 /// This object must be constructed with a valid IOBluetoothOBEXSession. The given
68 /// IOBluetoothOBEXSession does not need to be connected to the remote server.
69 /// OBEXFileTransferServices can be manually connected through the provided connection
70 /// methods.
71 ///
72 /// Parameter `inOBEXSession`: A valid IOBluetoothOBEXSession
73 ///
74 /// Returns: A newly created OBEXFileTransferServices object on success, nil on failure
75 ///
76 /// # Safety
77 ///
78 /// `in_obex_session` might not allow `None`.
79 #[unsafe(method(initWithOBEXSession:))]
80 #[unsafe(method_family = init)]
81 pub unsafe fn initWithOBEXSession(
82 this: Allocated<Self>,
83 in_obex_session: Option<&IOBluetoothOBEXSession>,
84 ) -> Option<Retained<Self>>;
85
86 #[cfg(feature = "objc2-foundation")]
87 /// Get the remote current directory path during an FTP session
88 ///
89 /// This path is changed with each path-specific command called on OBEXFileTransferServices.
90 ///
91 /// Returns: The current path being browsed over FTP
92 #[unsafe(method(currentPath))]
93 #[unsafe(method_family = none)]
94 pub unsafe fn currentPath(&self) -> Option<Retained<NSString>>;
95
96 /// Get the action state of the module
97 ///
98 /// OBEXFileTransferServices will be considered "busy" when an operation in taking place or
99 /// has not completed. Calling abort: on this module will not automatically reset its busy
100 /// state. The user will have to wait for the operation to complete or for the current
101 /// operation to timeout.
102 ///
103 /// Returns: Success or failure code.
104 #[unsafe(method(isBusy))]
105 #[unsafe(method_family = none)]
106 pub unsafe fn isBusy(&self) -> bool;
107
108 /// Get the connected state of this module.
109 ///
110 /// Asks the OBEXSession that was passed to it on creation if it has an open OBEX connection
111 ///
112 /// Returns: Success or failure code.
113 #[unsafe(method(isConnected))]
114 #[unsafe(method_family = none)]
115 pub unsafe fn isConnected(&self) -> bool;
116
117 #[cfg(feature = "OBEX")]
118 /// Connect to a remote device for FTP operations
119 ///
120 /// If the OBEXSession given to OBEXFileTransferServices on creation is not connected it
121 /// can be manually connected through this method.
122 ///
123 /// Returns: kOBEXSuccess, kOBEXSessionBusyError, or kOBEXSessionAlreadyConnectedError, kOBEXNoResourcesError
124 /// initially. Further results returned through the fileTransferServicesConnectionComplete:
125 /// delegate method if initially successful.
126 #[unsafe(method(connectToFTPService))]
127 #[unsafe(method_family = none)]
128 pub unsafe fn connectToFTPService(&self) -> OBEXError;
129
130 #[cfg(feature = "OBEX")]
131 /// Connect to a remote device for ObjectPush operations.
132 /// Most of the FTP functionality of this object will be disabled.
133 ///
134 /// If the OBEXSession given to OBEXFileTransferServices on creation is not connected it
135 /// can be manually connected through this method.
136 ///
137 /// Returns: kOBEXSuccess, kOBEXSessionBusyError, or kOBEXSessionAlreadyConnectedError, kOBEXNoResourcesError
138 /// initially. Further results returned through the fileTransferServicesConnectionComplete:
139 /// delegate method if initially successful.
140 #[unsafe(method(connectToObjectPushService))]
141 #[unsafe(method_family = none)]
142 pub unsafe fn connectToObjectPushService(&self) -> OBEXError;
143
144 #[cfg(feature = "OBEX")]
145 /// Disconnect from the remote device
146 ///
147 /// The user can manually disconnect the OBEXSession from the remote device if they want
148 /// to. OBEXFileTransferServices will disconnect the OBEXSession at release only if it was responsible
149 /// for opening the connection via a connect method.
150 ///
151 /// Returns: kOBEXSuccess, kOBEXSessionNotConnectedError, or kOBEXSessionBusyError initially. Further results
152 /// returned through the fileTransferServicesDisconnectionComplete: delegate method if initially successful.
153 #[unsafe(method(disconnect))]
154 #[unsafe(method_family = none)]
155 pub unsafe fn disconnect(&self) -> OBEXError;
156
157 #[cfg(feature = "OBEX")]
158 /// Asynchronously change to the remote root directory
159 ///
160 /// Equivalent to 'cd ~/'
161 ///
162 /// Returns: kOBEXSuccess or kOBEXSessionBusyError initially. Further results
163 /// returned through the fileTransferServicesPathChangeComplete: delegate method if initially successful.
164 #[unsafe(method(changeCurrentFolderToRoot))]
165 #[unsafe(method_family = none)]
166 pub unsafe fn changeCurrentFolderToRoot(&self) -> OBEXError;
167
168 #[cfg(feature = "OBEX")]
169 /// Change to the directory above the current level if not at the root
170 ///
171 /// Equivalent to 'cd ..' only if remote path is not already at root.
172 ///
173 /// Returns: kOBEXSuccess or kOBEXSessionBusyError initially. Further results
174 /// returned through the fileTransferServicesPathChangeComplete: delegate method if initially successful.
175 #[unsafe(method(changeCurrentFolderBackward))]
176 #[unsafe(method_family = none)]
177 pub unsafe fn changeCurrentFolderBackward(&self) -> OBEXError;
178
179 #[cfg(all(feature = "OBEX", feature = "objc2-foundation"))]
180 /// Change the remote path
181 ///
182 /// Equivalent to 'cd dirName'.
183 ///
184 /// Parameter `inDirName`: The name of the remote folder to be set as current
185 ///
186 /// Returns: kOBEXSuccess, kOBEXSessionBusyError, or kOBEXBadArgumentError initially. Further results
187 /// returned through the fileTransferServicesPathChangeComplete: delegate method if initially successful.
188 ///
189 /// # Safety
190 ///
191 /// `in_dir_name` might not allow `None`.
192 #[unsafe(method(changeCurrentFolderForwardToPath:))]
193 #[unsafe(method_family = none)]
194 pub unsafe fn changeCurrentFolderForwardToPath(
195 &self,
196 in_dir_name: Option<&NSString>,
197 ) -> OBEXError;
198
199 #[cfg(all(feature = "OBEX", feature = "objc2-foundation"))]
200 /// Create a folder on the remote target
201 ///
202 /// Equivalent to 'mkdir dirName'.
203 ///
204 /// Parameter `inDirName`: The name of the folder to be created
205 ///
206 /// Returns: kOBEXSuccess, kOBEXSessionBusyError, or kOBEXBadArgumentError initially.
207 /// Further results returned through the fileTransferServicesCreateFolderComplete delegate method
208 /// if initially successful.
209 ///
210 /// # Safety
211 ///
212 /// `in_dir_name` might not allow `None`.
213 #[unsafe(method(createFolder:))]
214 #[unsafe(method_family = none)]
215 pub unsafe fn createFolder(&self, in_dir_name: Option<&NSString>) -> OBEXError;
216
217 #[cfg(all(feature = "OBEX", feature = "objc2-foundation"))]
218 /// Remove a remote item.
219 ///
220 /// Not supported for use on Apple computer targets
221 ///
222 /// Parameter `inItemName`: The name of the remote item to be removed
223 ///
224 /// Returns: kOBEXSuccess, kOBEXSessionBusyError, or kOBEXBadArgumentError initially.
225 /// Further results returned through the fileTransferServicesRemoveItemComplete: delegate method
226 /// if initially successful.
227 ///
228 /// # Safety
229 ///
230 /// `in_item_name` might not allow `None`.
231 #[unsafe(method(removeItem:))]
232 #[unsafe(method_family = none)]
233 pub unsafe fn removeItem(&self, in_item_name: Option<&NSString>) -> OBEXError;
234
235 #[cfg(feature = "OBEX")]
236 /// Get a remote directory listing
237 ///
238 /// Equivalent to 'ls'.
239 ///
240 /// Returns: kOBEXSuccess or kOBEXSessionBusyError initially. Further results returned through
241 /// the fileTransferServicesRetrieveFolderListingComplete: delegate method if initially successful.
242 #[unsafe(method(retrieveFolderListing))]
243 #[unsafe(method_family = none)]
244 pub unsafe fn retrieveFolderListing(&self) -> OBEXError;
245
246 #[cfg(all(feature = "OBEX", feature = "objc2-foundation"))]
247 /// Put a local file to the remote target
248 ///
249 /// Equivalent to 'mv inLocalFilePath remoteCurrentPath'.
250 ///
251 /// Parameter `inLocalPathAndName`: The name and path of the file to be sent an instance of OBEXFilePut.
252 ///
253 /// Returns: kOBEXSuccess, kOBEXSessionBusyError, or kOBEXBadArgumentError initially. Further
254 /// results returned through the fileTransferServicesSendComplete: and
255 /// fileTransferServicesSendProgress: delegate methods if initially successful.
256 ///
257 /// # Safety
258 ///
259 /// `in_local_path_and_name` might not allow `None`.
260 #[unsafe(method(sendFile:))]
261 #[unsafe(method_family = none)]
262 pub unsafe fn sendFile(&self, in_local_path_and_name: Option<&NSString>) -> OBEXError;
263
264 #[cfg(all(feature = "OBEX", feature = "objc2-foundation"))]
265 /// Copy a remote file to a local path
266 ///
267 /// Equivalent to 'cp remotePath/remoteFileName localPathAndName'.
268 ///
269 /// Parameter `inRemoteFileName`: The name of the remote file to get
270 ///
271 /// Parameter `inLocalPathAndName`: The path and name of where the received file will go
272 ///
273 /// Returns: kOBEXSuccess, kOBEXSessionBusyError, or kOBEXBadArgumentError. initially. Further
274 /// results returned through the fileTransferServicesGetComplete: and
275 /// fileTransferServicesGetProgress: delegate methods if initially successful.
276 ///
277 /// # Safety
278 ///
279 /// - `in_remote_file_name` might not allow `None`.
280 /// - `in_local_path_and_name` might not allow `None`.
281 #[unsafe(method(copyRemoteFile:toLocalPath:))]
282 #[unsafe(method_family = none)]
283 pub unsafe fn copyRemoteFile_toLocalPath(
284 &self,
285 in_remote_file_name: Option<&NSString>,
286 in_local_path_and_name: Option<&NSString>,
287 ) -> OBEXError;
288
289 #[cfg(all(feature = "OBEX", feature = "objc2-foundation"))]
290 /// Send data to a remote target
291 ///
292 /// Use this method when you have data to send but no file to read from.
293 ///
294 /// Parameter `inData`: The data to be sent
295 ///
296 /// Parameter `inType`: The type of the data to be sent that will be used in the OBEX type header,
297 /// usually a mime-type. For example, use "text/x-vCard" when sending vCards. This
298 /// argument is optional.
299 ///
300 /// Parameter `inName`: The name of the file that the data can be referenced as.
301 ///
302 /// Returns: kOBEXSuccess, kOBEXSessionBusyError, or kOBEXBadArgumentError initially. Further
303 /// results returned through the fileTransferServicesSendComplete: and
304 /// fileTransferServicesSendProgress: delegate methods if initially successful.
305 ///
306 /// # Safety
307 ///
308 /// - `in_data` might not allow `None`.
309 /// - `in_type` might not allow `None`.
310 /// - `in_name` might not allow `None`.
311 #[unsafe(method(sendData:type:name:))]
312 #[unsafe(method_family = none)]
313 pub unsafe fn sendData_type_name(
314 &self,
315 in_data: Option<&NSData>,
316 in_type: Option<&NSString>,
317 in_name: Option<&NSString>,
318 ) -> OBEXError;
319
320 #[cfg(all(feature = "OBEX", feature = "objc2-foundation"))]
321 /// Get the remote default VCard, if it is supported
322 ///
323 /// Some devices such as cellphones and computers support default VCards
324 ///
325 /// Parameter `inLocalPathAndName`: The path and name of where the received file will go
326 ///
327 /// Returns: kOBEXSuccess, kOBEXSessionBusyError, or kOBEXBadArgumentError initially. Further
328 /// results returned through the fileTransferServicesGetComplete: and
329 /// fileTransferServicesGetProgress: delegate methods if initially successful.
330 ///
331 /// # Safety
332 ///
333 /// `in_local_path_and_name` might not allow `None`.
334 #[unsafe(method(getDefaultVCard:))]
335 #[unsafe(method_family = none)]
336 pub unsafe fn getDefaultVCard(
337 &self,
338 in_local_path_and_name: Option<&NSString>,
339 ) -> OBEXError;
340
341 #[cfg(feature = "OBEX")]
342 /// Abort the current operation
343 ///
344 /// Attempts send an abort request to the remote device. Returns the OBEXFileTransferServices
345 /// object to an idle state though the state of the remote device is not guaranteed.
346 ///
347 /// Returns: kOBEXSuccess, or kOBEXGeneralError if no command is in progress. ABORT
348 /// commands can only be sent on our turn, meaning we may have to timeout if the
349 /// target side never responds to the command in progress. In that case this object
350 /// will call back with a status of kOBEXTimeoutError and an error. Further results
351 /// returned through the fileTransferServicesAbortComplete: delegate method if initially successful.
352 #[unsafe(method(abort))]
353 #[unsafe(method_family = none)]
354 pub unsafe fn abort(&self) -> OBEXError;
355 );
356}
357
358/// Methods declared on superclass `NSObject`.
359impl OBEXFileTransferServices {
360 extern_methods!(
361 #[unsafe(method(init))]
362 #[unsafe(method_family = init)]
363 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
364
365 #[unsafe(method(new))]
366 #[unsafe(method_family = new)]
367 pub unsafe fn new() -> Retained<Self>;
368 );
369}
370
371extern "C" {
372 /// NSNumber integer value. This key is used with the NSDictionary returned from the fileTransferServicesPutProgress:
373 /// and fileTransferServicesGetProgress: delegate methods
374 ///
375 /// See also [Apple's documentation](https://developer.apple.com/documentation/iobluetooth/kftsprogressbytestransferredkey?language=objc)
376 #[cfg(feature = "objc2-core-foundation")]
377 pub static kFTSProgressBytesTransferredKey: Option<&'static CFString>;
378}
379
380extern "C" {
381 /// NSNumber integer value. This key is used with the NSDictionary returned from the fileTransferServicesPutProgress:
382 /// and fileTransferServicesGetProgress: delegate methods
383 ///
384 /// See also [Apple's documentation](https://developer.apple.com/documentation/iobluetooth/kftsprogressbytestotalkey?language=objc)
385 #[cfg(feature = "objc2-core-foundation")]
386 pub static kFTSProgressBytesTotalKey: Option<&'static CFString>;
387}
388
389extern "C" {
390 /// NSNumber float value. This key is used with the NSDictionary returned from the fileTransferServicesPutProgress:
391 /// and fileTransferServicesGetProgress: delegate methods
392 ///
393 /// See also [Apple's documentation](https://developer.apple.com/documentation/iobluetooth/kftsprogresspercentagekey?language=objc)
394 #[cfg(feature = "objc2-core-foundation")]
395 pub static kFTSProgressPercentageKey: Option<&'static CFString>;
396}
397
398extern "C" {
399 /// [Apple's documentation](https://developer.apple.com/documentation/iobluetooth/kftsprogressprecentagekey?language=objc)
400 #[cfg(feature = "objc2-core-foundation")]
401 pub static kFTSProgressPrecentageKey: Option<&'static CFString>;
402}
403
404extern "C" {
405 /// NSNumber double value. This key is used with the NSDictionary returned from the fileTransferServicesPutProgress:
406 /// and fileTransferServicesGetProgress: delegate methods
407 ///
408 /// See also [Apple's documentation](https://developer.apple.com/documentation/iobluetooth/kftsprogressestimatedtimekey?language=objc)
409 #[cfg(feature = "objc2-core-foundation")]
410 pub static kFTSProgressEstimatedTimeKey: Option<&'static CFString>;
411}
412
413extern "C" {
414 /// NSNumber int value. This key is used with the NSDictionary returned from the fileTransferServicesPutProgress:
415 /// and fileTransferServicesGetProgress: delegate methods
416 ///
417 /// See also [Apple's documentation](https://developer.apple.com/documentation/iobluetooth/kftsprogresstimeelapsedkey?language=objc)
418 #[cfg(feature = "objc2-core-foundation")]
419 pub static kFTSProgressTimeElapsedKey: Option<&'static CFString>;
420}
421
422extern "C" {
423 /// NSNumber float value. This key is used with the NSDictionary returned from the fileTransferServicesPutProgress:
424 /// and fileTransferServicesGetProgress: delegate methods
425 ///
426 /// See also [Apple's documentation](https://developer.apple.com/documentation/iobluetooth/kftsprogresstransferratekey?language=objc)
427 #[cfg(feature = "objc2-core-foundation")]
428 pub static kFTSProgressTransferRateKey: Option<&'static CFString>;
429}
430
431extern "C" {
432 /// NSString value. This key is used with the array of NSDictionary's returned through the delegate method
433 /// fileTransferServicesGetListingComplete: after calling getFolderListing.
434 ///
435 /// See also [Apple's documentation](https://developer.apple.com/documentation/iobluetooth/kftslistingnamekey?language=objc)
436 #[cfg(feature = "objc2-core-foundation")]
437 pub static kFTSListingNameKey: Option<&'static CFString>;
438}
439
440extern "C" {
441 /// FTSFileType value. This key is used with the array of NSDictionary's returned through the delegate method
442 /// fileTransferServicesGetListingComplete: after calling getFolderListing.
443 ///
444 /// See also [Apple's documentation](https://developer.apple.com/documentation/iobluetooth/kftslistingtypekey?language=objc)
445 #[cfg(feature = "objc2-core-foundation")]
446 pub static kFTSListingTypeKey: Option<&'static CFString>;
447}
448
449extern "C" {
450 /// Int value. This key is used with the array of NSDictionary's returned through the delegate method
451 /// fileTransferServicesGetListingComplete: after calling getFolderListing.
452 ///
453 /// See also [Apple's documentation](https://developer.apple.com/documentation/iobluetooth/kftslistingsizekey?language=objc)
454 #[cfg(feature = "objc2-core-foundation")]
455 pub static kFTSListingSizeKey: Option<&'static CFString>;
456}
457
458/// The type values associated with the kFTSListingTypeKey dictionary value
459///
460/// See also [Apple's documentation](https://developer.apple.com/documentation/iobluetooth/ftsfiletype?language=objc)
461#[repr(transparent)]
462#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
463pub struct FTSFileType(pub c_uint);
464impl FTSFileType {
465 #[doc(alias = "kFTSFileTypeFolder")]
466 pub const Folder: Self = Self(1);
467 #[doc(alias = "kFTSFileTypeFile")]
468 pub const File: Self = Self(2);
469}
470
471unsafe impl Encode for FTSFileType {
472 const ENCODING: Encoding = c_uint::ENCODING;
473}
474
475unsafe impl RefEncode for FTSFileType {
476 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
477}
478
479mod private_NSObjectOBEXFileTransferServicesDelegate {
480 pub trait Sealed {}
481}
482
483/// Category "OBEXFileTransferServicesDelegate" on [`NSObject`].
484#[doc(alias = "OBEXFileTransferServicesDelegate")]
485pub unsafe trait NSObjectOBEXFileTransferServicesDelegate:
486 ClassType + Sized + private_NSObjectOBEXFileTransferServicesDelegate::Sealed
487{
488 extern_methods!(
489 #[cfg(feature = "OBEX")]
490 /// The delegate method that corresponds to the connect method
491 ///
492 /// inError will either be kOBEXSuccess or it will be an error returned by the OBEX Session
493 ///
494 /// # Safety
495 ///
496 /// `in_services` might not allow `None`.
497 #[unsafe(method(fileTransferServicesConnectionComplete:error:))]
498 #[unsafe(method_family = none)]
499 unsafe fn fileTransferServicesConnectionComplete_error(
500 &self,
501 in_services: Option<&OBEXFileTransferServices>,
502 in_error: OBEXError,
503 );
504
505 #[cfg(feature = "OBEX")]
506 /// The delegate method that corresponds to the disconnect method
507 ///
508 /// inError will be kOBEXSuccess on success. This method will also be called if the connection
509 /// is lost to the server. Possible error codes include kOBEXSessionTransportDiedError,
510 /// kOBEXSessionNoTransportError, and kOBEXSessionNotConnectedError.
511 ///
512 /// # Safety
513 ///
514 /// `in_services` might not allow `None`.
515 #[unsafe(method(fileTransferServicesDisconnectionComplete:error:))]
516 #[unsafe(method_family = none)]
517 unsafe fn fileTransferServicesDisconnectionComplete_error(
518 &self,
519 in_services: Option<&OBEXFileTransferServices>,
520 in_error: OBEXError,
521 );
522
523 #[cfg(feature = "OBEX")]
524 /// The delegate method that corresponds to the abort method
525 ///
526 /// Possible inError values are kOBEXSuccess and kOBEXTimeoutError
527 ///
528 /// # Safety
529 ///
530 /// `in_services` might not allow `None`.
531 #[unsafe(method(fileTransferServicesAbortComplete:error:))]
532 #[unsafe(method_family = none)]
533 unsafe fn fileTransferServicesAbortComplete_error(
534 &self,
535 in_services: Option<&OBEXFileTransferServices>,
536 in_error: OBEXError,
537 );
538
539 #[cfg(all(feature = "OBEX", feature = "objc2-foundation"))]
540 /// The delegate method that corresponds to the removeItemNamed: method.
541 ///
542 ///
543 /// Parameter `inItemName`: The name of the remote item that was removed
544 ///
545 /// # Safety
546 ///
547 /// - `in_services` might not allow `None`.
548 /// - `in_item_name` might not allow `None`.
549 #[unsafe(method(fileTransferServicesRemoveItemComplete:error:removedItem:))]
550 #[unsafe(method_family = none)]
551 unsafe fn fileTransferServicesRemoveItemComplete_error_removedItem(
552 &self,
553 in_services: Option<&OBEXFileTransferServices>,
554 in_error: OBEXError,
555 in_item_name: Option<&NSString>,
556 );
557
558 #[cfg(all(feature = "OBEX", feature = "objc2-foundation"))]
559 /// The delegate method that corresponds to the createFolderNamed: method.
560 ///
561 ///
562 /// Parameter `inFolderName`: The name of the newly created folder
563 ///
564 /// # Safety
565 ///
566 /// - `in_services` might not allow `None`.
567 /// - `in_folder_name` might not allow `None`.
568 #[unsafe(method(fileTransferServicesCreateFolderComplete:error:folder:))]
569 #[unsafe(method_family = none)]
570 unsafe fn fileTransferServicesCreateFolderComplete_error_folder(
571 &self,
572 in_services: Option<&OBEXFileTransferServices>,
573 in_error: OBEXError,
574 in_folder_name: Option<&NSString>,
575 );
576
577 #[cfg(all(feature = "OBEX", feature = "objc2-foundation"))]
578 /// The delegate method that corresponds to the changeCurrentFolderToRoot:,
579 /// changeCurrentFolderBackward:, and changeCurrentFolderForward: methods
580 ///
581 ///
582 /// Parameter `inPath`: The current remote path
583 ///
584 /// # Safety
585 ///
586 /// - `in_services` might not allow `None`.
587 /// - `in_path` might not allow `None`.
588 #[unsafe(method(fileTransferServicesPathChangeComplete:error:finalPath:))]
589 #[unsafe(method_family = none)]
590 unsafe fn fileTransferServicesPathChangeComplete_error_finalPath(
591 &self,
592 in_services: Option<&OBEXFileTransferServices>,
593 in_error: OBEXError,
594 in_path: Option<&NSString>,
595 );
596
597 #[cfg(all(feature = "OBEX", feature = "objc2-foundation"))]
598 /// The delegate method that corresponds to the retrieveFolderListing method
599 ///
600 ///
601 /// Parameter `inListing`: An array of NSDictionary's that detail each file at the current path. The keys
602 /// to this dictionary are defined in the OBEXFileTransferServicesDelegate category.
603 ///
604 /// # Safety
605 ///
606 /// - `in_services` might not allow `None`.
607 /// - `in_listing` generic should be of the correct type.
608 /// - `in_listing` might not allow `None`.
609 #[unsafe(method(fileTransferServicesRetrieveFolderListingComplete:error:listing:))]
610 #[unsafe(method_family = none)]
611 unsafe fn fileTransferServicesRetrieveFolderListingComplete_error_listing(
612 &self,
613 in_services: Option<&OBEXFileTransferServices>,
614 in_error: OBEXError,
615 in_listing: Option<&NSArray>,
616 );
617
618 #[cfg(feature = "OBEX")]
619 /// The delegate method for receiving information on the preparation of each file to send
620 ///
621 /// This method will be called before the transfer operation.
622 ///
623 /// # Safety
624 ///
625 /// `in_services` might not allow `None`.
626 #[unsafe(method(fileTransferServicesFilePreparationComplete:error:))]
627 #[unsafe(method_family = none)]
628 unsafe fn fileTransferServicesFilePreparationComplete_error(
629 &self,
630 in_services: Option<&OBEXFileTransferServices>,
631 in_error: OBEXError,
632 );
633
634 #[cfg(feature = "objc2-foundation")]
635 /// The delegate method for receiving information on the sendFile: transfer
636 ///
637 /// This method will be called during the transfer operation.
638 ///
639 /// Parameter `inProgressDescription`: A dictionary containing information on the state of the transfer. The keys
640 /// to this dictionary are defined in the OBEXFileTransferServicesDelegate category.
641 ///
642 /// # Safety
643 ///
644 /// - `in_services` might not allow `None`.
645 /// - `in_progress_description` generic should be of the correct type.
646 /// - `in_progress_description` might not allow `None`.
647 #[unsafe(method(fileTransferServicesSendFileProgress:transferProgress:))]
648 #[unsafe(method_family = none)]
649 unsafe fn fileTransferServicesSendFileProgress_transferProgress(
650 &self,
651 in_services: Option<&OBEXFileTransferServices>,
652 in_progress_description: Option<&NSDictionary>,
653 );
654
655 #[cfg(feature = "OBEX")]
656 /// The delegate method that corresponds to the sendFile: method.
657 ///
658 /// This method will be called when the transfer operation has finished.
659 ///
660 /// # Safety
661 ///
662 /// `in_services` might not allow `None`.
663 #[unsafe(method(fileTransferServicesSendFileComplete:error:))]
664 #[unsafe(method_family = none)]
665 unsafe fn fileTransferServicesSendFileComplete_error(
666 &self,
667 in_services: Option<&OBEXFileTransferServices>,
668 in_error: OBEXError,
669 );
670
671 #[cfg(feature = "objc2-foundation")]
672 /// The delegate method for receiving information on the GET transfer
673 ///
674 /// This method will be called during the transfer operation
675 ///
676 /// Parameter `inProgressDescription`: A dictionary containing information on the state of the transfer. The keys
677 /// to this dictionary are defined in the OBEXFileTransferServicesDelegate category.
678 ///
679 /// # Safety
680 ///
681 /// - `in_services` might not allow `None`.
682 /// - `in_progress_description` generic should be of the correct type.
683 /// - `in_progress_description` might not allow `None`.
684 #[unsafe(method(fileTransferServicesCopyRemoteFileProgress:transferProgress:))]
685 #[unsafe(method_family = none)]
686 unsafe fn fileTransferServicesCopyRemoteFileProgress_transferProgress(
687 &self,
688 in_services: Option<&OBEXFileTransferServices>,
689 in_progress_description: Option<&NSDictionary>,
690 );
691
692 #[cfg(feature = "OBEX")]
693 /// The delegate method that corresponds to the getFileNamed:toLocalPathAndName: method
694 ///
695 /// This method will be called when the transfer operation has finished
696 ///
697 /// # Safety
698 ///
699 /// `in_services` might not allow `None`.
700 #[unsafe(method(fileTransferServicesCopyRemoteFileComplete:error:))]
701 #[unsafe(method_family = none)]
702 unsafe fn fileTransferServicesCopyRemoteFileComplete_error(
703 &self,
704 in_services: Option<&OBEXFileTransferServices>,
705 in_error: OBEXError,
706 );
707 );
708}
709
710impl private_NSObjectOBEXFileTransferServicesDelegate::Sealed for NSObject {}
711unsafe impl NSObjectOBEXFileTransferServicesDelegate for NSObject {}