objc2_app_kit/generated/
NSFilePromiseProvider.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::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10extern_class!(
11    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfilepromiseprovider?language=objc)
12    #[unsafe(super(NSObject))]
13    #[derive(Debug, PartialEq, Eq, Hash)]
14    pub struct NSFilePromiseProvider;
15);
16
17extern_conformance!(
18    unsafe impl NSObjectProtocol for NSFilePromiseProvider {}
19);
20
21#[cfg(feature = "NSPasteboard")]
22extern_conformance!(
23    unsafe impl NSPasteboardWriting for NSFilePromiseProvider {}
24);
25
26impl NSFilePromiseProvider {
27    extern_methods!(
28        #[unsafe(method(fileType))]
29        #[unsafe(method_family = none)]
30        pub fn fileType(&self) -> Retained<NSString>;
31
32        /// Setter for [`fileType`][Self::fileType].
33        ///
34        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
35        #[unsafe(method(setFileType:))]
36        #[unsafe(method_family = none)]
37        pub fn setFileType(&self, file_type: &NSString);
38
39        #[unsafe(method(delegate))]
40        #[unsafe(method_family = none)]
41        pub fn delegate(
42            &self,
43        ) -> Option<Retained<ProtocolObject<dyn NSFilePromiseProviderDelegate>>>;
44
45        /// Setter for [`delegate`][Self::delegate].
46        ///
47        /// This is a [weak property][objc2::topics::weak_property].
48        #[unsafe(method(setDelegate:))]
49        #[unsafe(method_family = none)]
50        pub fn setDelegate(
51            &self,
52            delegate: Option<&ProtocolObject<dyn NSFilePromiseProviderDelegate>>,
53        );
54
55        #[unsafe(method(userInfo))]
56        #[unsafe(method_family = none)]
57        pub fn userInfo(&self) -> Option<Retained<AnyObject>>;
58
59        /// Setter for [`userInfo`][Self::userInfo].
60        ///
61        /// # Safety
62        ///
63        /// `user_info` should be of the correct type.
64        #[unsafe(method(setUserInfo:))]
65        #[unsafe(method_family = none)]
66        pub unsafe fn setUserInfo(&self, user_info: Option<&AnyObject>);
67
68        #[unsafe(method(initWithFileType:delegate:))]
69        #[unsafe(method_family = init)]
70        pub fn initWithFileType_delegate(
71            this: Allocated<Self>,
72            file_type: &NSString,
73            delegate: &ProtocolObject<dyn NSFilePromiseProviderDelegate>,
74        ) -> Retained<Self>;
75
76        #[unsafe(method(init))]
77        #[unsafe(method_family = init)]
78        pub fn init(this: Allocated<Self>) -> Retained<Self>;
79    );
80}
81
82/// Methods declared on superclass `NSObject`.
83impl NSFilePromiseProvider {
84    extern_methods!(
85        #[unsafe(method(new))]
86        #[unsafe(method_family = new)]
87        pub fn new() -> Retained<Self>;
88    );
89}
90
91impl DefaultRetained for NSFilePromiseProvider {
92    #[inline]
93    fn default_retained() -> Retained<Self> {
94        Self::new()
95    }
96}
97
98extern_protocol!(
99    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfilepromiseproviderdelegate?language=objc)
100    pub unsafe trait NSFilePromiseProviderDelegate: NSObjectProtocol {
101        #[unsafe(method(filePromiseProvider:fileNameForType:))]
102        #[unsafe(method_family = none)]
103        fn filePromiseProvider_fileNameForType(
104            &self,
105            file_promise_provider: &NSFilePromiseProvider,
106            file_type: &NSString,
107            mtm: MainThreadMarker,
108        ) -> Retained<NSString>;
109
110        #[cfg(feature = "block2")]
111        #[unsafe(method(filePromiseProvider:writePromiseToURL:completionHandler:))]
112        #[unsafe(method_family = none)]
113        fn filePromiseProvider_writePromiseToURL_completionHandler(
114            &self,
115            file_promise_provider: &NSFilePromiseProvider,
116            url: &NSURL,
117            completion_handler: &block2::DynBlock<dyn Fn(*mut NSError)>,
118        );
119
120        #[optional]
121        #[unsafe(method(operationQueueForFilePromiseProvider:))]
122        #[unsafe(method_family = none)]
123        fn operationQueueForFilePromiseProvider(
124            &self,
125            file_promise_provider: &NSFilePromiseProvider,
126            mtm: MainThreadMarker,
127        ) -> Retained<NSOperationQueue>;
128    }
129);