objc2_ui_kit/generated/
UIActivityItemProvider.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ptr::NonNull;
4use objc2::__framework_prelude::*;
5#[cfg(feature = "objc2-core-foundation")]
6use objc2_core_foundation::*;
7use objc2_foundation::*;
8
9use crate::*;
10
11extern_protocol!(
12    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivityitemsource?language=objc)
13    pub unsafe trait UIActivityItemSource: NSObjectProtocol {
14        #[cfg(all(
15            feature = "UIActivityViewController",
16            feature = "UIResponder",
17            feature = "UIViewController"
18        ))]
19        #[unsafe(method(activityViewControllerPlaceholderItem:))]
20        #[unsafe(method_family = none)]
21        fn activityViewControllerPlaceholderItem(
22            &self,
23            activity_view_controller: &UIActivityViewController,
24        ) -> Retained<AnyObject>;
25
26        #[cfg(all(
27            feature = "UIActivity",
28            feature = "UIActivityViewController",
29            feature = "UIResponder",
30            feature = "UIViewController"
31        ))]
32        #[unsafe(method(activityViewController:itemForActivityType:))]
33        #[unsafe(method_family = none)]
34        fn activityViewController_itemForActivityType(
35            &self,
36            activity_view_controller: &UIActivityViewController,
37            activity_type: Option<&UIActivityType>,
38        ) -> Option<Retained<AnyObject>>;
39
40        #[cfg(all(
41            feature = "UIActivity",
42            feature = "UIActivityViewController",
43            feature = "UIResponder",
44            feature = "UIViewController"
45        ))]
46        #[optional]
47        #[unsafe(method(activityViewController:subjectForActivityType:))]
48        #[unsafe(method_family = none)]
49        fn activityViewController_subjectForActivityType(
50            &self,
51            activity_view_controller: &UIActivityViewController,
52            activity_type: Option<&UIActivityType>,
53        ) -> Retained<NSString>;
54
55        #[cfg(all(
56            feature = "UIActivity",
57            feature = "UIActivityViewController",
58            feature = "UIResponder",
59            feature = "UIViewController"
60        ))]
61        #[optional]
62        #[unsafe(method(activityViewController:dataTypeIdentifierForActivityType:))]
63        #[unsafe(method_family = none)]
64        fn activityViewController_dataTypeIdentifierForActivityType(
65            &self,
66            activity_view_controller: &UIActivityViewController,
67            activity_type: Option<&UIActivityType>,
68        ) -> Retained<NSString>;
69
70        #[cfg(all(
71            feature = "UIActivity",
72            feature = "UIActivityViewController",
73            feature = "UIImage",
74            feature = "UIResponder",
75            feature = "UIViewController",
76            feature = "objc2-core-foundation"
77        ))]
78        #[optional]
79        #[unsafe(method(activityViewController:thumbnailImageForActivityType:suggestedSize:))]
80        #[unsafe(method_family = none)]
81        fn activityViewController_thumbnailImageForActivityType_suggestedSize(
82            &self,
83            activity_view_controller: &UIActivityViewController,
84            activity_type: Option<&UIActivityType>,
85            size: CGSize,
86        ) -> Option<Retained<UIImage>>;
87    }
88);
89
90extern_class!(
91    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivityitemprovider?language=objc)
92    #[unsafe(super(NSOperation, NSObject))]
93    #[derive(Debug, PartialEq, Eq, Hash)]
94    pub struct UIActivityItemProvider;
95);
96
97extern_conformance!(
98    unsafe impl NSObjectProtocol for UIActivityItemProvider {}
99);
100
101extern_conformance!(
102    unsafe impl UIActivityItemSource for UIActivityItemProvider {}
103);
104
105impl UIActivityItemProvider {
106    extern_methods!(
107        #[unsafe(method(init))]
108        #[unsafe(method_family = init)]
109        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
110
111        /// # Safety
112        ///
113        /// `placeholder_item` should be of the correct type.
114        #[unsafe(method(initWithPlaceholderItem:))]
115        #[unsafe(method_family = init)]
116        pub unsafe fn initWithPlaceholderItem(
117            this: Allocated<Self>,
118            placeholder_item: &AnyObject,
119        ) -> Retained<Self>;
120
121        /// This property is not atomic.
122        ///
123        /// # Safety
124        ///
125        /// This might not be thread-safe.
126        #[unsafe(method(placeholderItem))]
127        #[unsafe(method_family = none)]
128        pub unsafe fn placeholderItem(&self) -> Option<Retained<AnyObject>>;
129
130        #[cfg(feature = "UIActivity")]
131        /// This property is not atomic.
132        ///
133        /// # Safety
134        ///
135        /// This might not be thread-safe.
136        #[unsafe(method(activityType))]
137        #[unsafe(method_family = none)]
138        pub unsafe fn activityType(&self) -> Option<Retained<UIActivityType>>;
139
140        /// This property is not atomic.
141        ///
142        /// # Safety
143        ///
144        /// This might not be thread-safe.
145        #[unsafe(method(item))]
146        #[unsafe(method_family = none)]
147        pub unsafe fn item(&self) -> Retained<AnyObject>;
148    );
149}
150
151/// Methods declared on superclass `NSObject`.
152impl UIActivityItemProvider {
153    extern_methods!(
154        #[unsafe(method(new))]
155        #[unsafe(method_family = new)]
156        pub unsafe fn new() -> Retained<Self>;
157    );
158}