objc2_ui_kit/generated/
UIActivityViewController.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
10/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitysectiontypes?language=objc)
11// NS_OPTIONS
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct UIActivitySectionTypes(pub NSUInteger);
15bitflags::bitflags! {
16    impl UIActivitySectionTypes: NSUInteger {
17        #[doc(alias = "UIActivitySectionTypesNone")]
18        const None = 0;
19        #[doc(alias = "UIActivitySectionTypesPeopleSuggestions")]
20        const PeopleSuggestions = 1<<0;
21    }
22}
23
24unsafe impl Encode for UIActivitySectionTypes {
25    const ENCODING: Encoding = NSUInteger::ENCODING;
26}
27
28unsafe impl RefEncode for UIActivitySectionTypes {
29    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
30}
31
32/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivityviewcontrollercompletionhandler?language=objc)
33#[cfg(all(feature = "UIActivity", feature = "block2"))]
34pub type UIActivityViewControllerCompletionHandler =
35    *mut block2::DynBlock<dyn Fn(*mut UIActivityType, Bool)>;
36
37/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivityviewcontrollercompletionwithitemshandler?language=objc)
38#[cfg(all(feature = "UIActivity", feature = "block2"))]
39pub type UIActivityViewControllerCompletionWithItemsHandler =
40    *mut block2::DynBlock<dyn Fn(*mut UIActivityType, Bool, *mut NSArray, *mut NSError)>;
41
42extern_class!(
43    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivityviewcontroller?language=objc)
44    #[unsafe(super(UIViewController, UIResponder, NSObject))]
45    #[derive(Debug, PartialEq, Eq, Hash)]
46    #[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
47    pub struct UIActivityViewController;
48);
49
50#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
51extern_conformance!(
52    unsafe impl NSCoding for UIActivityViewController {}
53);
54
55#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
56extern_conformance!(
57    unsafe impl NSObjectProtocol for UIActivityViewController {}
58);
59
60#[cfg(all(
61    feature = "UIAppearance",
62    feature = "UIResponder",
63    feature = "UIViewController"
64))]
65extern_conformance!(
66    unsafe impl UIAppearanceContainer for UIActivityViewController {}
67);
68
69#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
70extern_conformance!(
71    unsafe impl UIContentContainer for UIActivityViewController {}
72);
73
74#[cfg(all(
75    feature = "UIFocus",
76    feature = "UIResponder",
77    feature = "UIViewController"
78))]
79extern_conformance!(
80    unsafe impl UIFocusEnvironment for UIActivityViewController {}
81);
82
83#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
84extern_conformance!(
85    unsafe impl UIResponderStandardEditActions for UIActivityViewController {}
86);
87
88#[cfg(all(
89    feature = "UIResponder",
90    feature = "UITraitCollection",
91    feature = "UIViewController"
92))]
93extern_conformance!(
94    unsafe impl UITraitEnvironment for UIActivityViewController {}
95);
96
97#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
98impl UIActivityViewController {
99    extern_methods!(
100        #[unsafe(method(init))]
101        #[unsafe(method_family = init)]
102        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
103
104        #[unsafe(method(initWithNibName:bundle:))]
105        #[unsafe(method_family = init)]
106        pub unsafe fn initWithNibName_bundle(
107            this: Allocated<Self>,
108            nib_name_or_nil: Option<&NSString>,
109            nib_bundle_or_nil: Option<&NSBundle>,
110        ) -> Retained<Self>;
111
112        #[unsafe(method(initWithCoder:))]
113        #[unsafe(method_family = init)]
114        pub unsafe fn initWithCoder(
115            this: Allocated<Self>,
116            coder: &NSCoder,
117        ) -> Option<Retained<Self>>;
118
119        #[cfg(feature = "UIActivity")]
120        #[unsafe(method(initWithActivityItems:applicationActivities:))]
121        #[unsafe(method_family = init)]
122        pub unsafe fn initWithActivityItems_applicationActivities(
123            this: Allocated<Self>,
124            activity_items: &NSArray,
125            application_activities: Option<&NSArray<UIActivity>>,
126        ) -> Retained<Self>;
127
128        #[cfg(all(feature = "UIActivity", feature = "block2"))]
129        #[deprecated]
130        #[unsafe(method(completionHandler))]
131        #[unsafe(method_family = none)]
132        pub unsafe fn completionHandler(&self) -> UIActivityViewControllerCompletionHandler;
133
134        #[cfg(all(feature = "UIActivity", feature = "block2"))]
135        /// Setter for [`completionHandler`][Self::completionHandler].
136        #[deprecated]
137        #[unsafe(method(setCompletionHandler:))]
138        #[unsafe(method_family = none)]
139        pub unsafe fn setCompletionHandler(
140            &self,
141            completion_handler: UIActivityViewControllerCompletionHandler,
142        );
143
144        #[cfg(all(feature = "UIActivity", feature = "block2"))]
145        #[unsafe(method(completionWithItemsHandler))]
146        #[unsafe(method_family = none)]
147        pub unsafe fn completionWithItemsHandler(
148            &self,
149        ) -> UIActivityViewControllerCompletionWithItemsHandler;
150
151        #[cfg(all(feature = "UIActivity", feature = "block2"))]
152        /// Setter for [`completionWithItemsHandler`][Self::completionWithItemsHandler].
153        #[unsafe(method(setCompletionWithItemsHandler:))]
154        #[unsafe(method_family = none)]
155        pub unsafe fn setCompletionWithItemsHandler(
156            &self,
157            completion_with_items_handler: UIActivityViewControllerCompletionWithItemsHandler,
158        );
159
160        #[cfg(feature = "UIActivity")]
161        #[unsafe(method(excludedActivityTypes))]
162        #[unsafe(method_family = none)]
163        pub unsafe fn excludedActivityTypes(&self) -> Option<Retained<NSArray<UIActivityType>>>;
164
165        #[cfg(feature = "UIActivity")]
166        /// Setter for [`excludedActivityTypes`][Self::excludedActivityTypes].
167        #[unsafe(method(setExcludedActivityTypes:))]
168        #[unsafe(method_family = none)]
169        pub unsafe fn setExcludedActivityTypes(
170            &self,
171            excluded_activity_types: Option<&NSArray<UIActivityType>>,
172        );
173
174        /// Hides some sections of the activity view controller. Default is none
175        #[unsafe(method(excludedActivitySectionTypes))]
176        #[unsafe(method_family = none)]
177        pub unsafe fn excludedActivitySectionTypes(&self) -> UIActivitySectionTypes;
178
179        /// Setter for [`excludedActivitySectionTypes`][Self::excludedActivitySectionTypes].
180        #[unsafe(method(setExcludedActivitySectionTypes:))]
181        #[unsafe(method_family = none)]
182        pub unsafe fn setExcludedActivitySectionTypes(
183            &self,
184            excluded_activity_section_types: UIActivitySectionTypes,
185        );
186
187        /// In some contexts, the activity view controller can elevate a specific activity in the header view to enhance it.
188        /// The prominent activity can only be chosen by the system.
189        /// Defaults to YES.
190        #[unsafe(method(allowsProminentActivity))]
191        #[unsafe(method_family = none)]
192        pub unsafe fn allowsProminentActivity(&self) -> bool;
193
194        /// Setter for [`allowsProminentActivity`][Self::allowsProminentActivity].
195        #[unsafe(method(setAllowsProminentActivity:))]
196        #[unsafe(method_family = none)]
197        pub unsafe fn setAllowsProminentActivity(&self, allows_prominent_activity: bool);
198    );
199}
200
201/// Methods declared on superclass `NSObject`.
202#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
203impl UIActivityViewController {
204    extern_methods!(
205        #[unsafe(method(new))]
206        #[unsafe(method_family = new)]
207        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
208    );
209}
210
211/// UIActivityItemsConfiguration.
212#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
213impl UIActivityViewController {
214    extern_methods!(
215        #[cfg(feature = "UIActivityItemsConfigurationReading")]
216        #[unsafe(method(initWithActivityItemsConfiguration:))]
217        #[unsafe(method_family = init)]
218        pub unsafe fn initWithActivityItemsConfiguration(
219            this: Allocated<Self>,
220            activity_items_configuration: &ProtocolObject<dyn UIActivityItemsConfigurationReading>,
221        ) -> Retained<Self>;
222    );
223}