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::Block<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::Block<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"))]
51unsafe impl NSCoding for UIActivityViewController {}
52
53#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
54unsafe impl NSObjectProtocol for UIActivityViewController {}
55
56#[cfg(all(
57    feature = "UIAppearance",
58    feature = "UIResponder",
59    feature = "UIViewController"
60))]
61unsafe impl UIAppearanceContainer for UIActivityViewController {}
62
63#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
64unsafe impl UIContentContainer for UIActivityViewController {}
65
66#[cfg(all(
67    feature = "UIFocus",
68    feature = "UIResponder",
69    feature = "UIViewController"
70))]
71unsafe impl UIFocusEnvironment for UIActivityViewController {}
72
73#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
74unsafe impl UIResponderStandardEditActions for UIActivityViewController {}
75
76#[cfg(all(
77    feature = "UIResponder",
78    feature = "UITraitCollection",
79    feature = "UIViewController"
80))]
81unsafe impl UITraitEnvironment for UIActivityViewController {}
82
83#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
84impl UIActivityViewController {
85    extern_methods!(
86        #[unsafe(method(init))]
87        #[unsafe(method_family = init)]
88        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
89
90        #[unsafe(method(initWithNibName:bundle:))]
91        #[unsafe(method_family = init)]
92        pub unsafe fn initWithNibName_bundle(
93            this: Allocated<Self>,
94            nib_name_or_nil: Option<&NSString>,
95            nib_bundle_or_nil: Option<&NSBundle>,
96        ) -> Retained<Self>;
97
98        #[unsafe(method(initWithCoder:))]
99        #[unsafe(method_family = init)]
100        pub unsafe fn initWithCoder(
101            this: Allocated<Self>,
102            coder: &NSCoder,
103        ) -> Option<Retained<Self>>;
104
105        #[cfg(feature = "UIActivity")]
106        #[unsafe(method(initWithActivityItems:applicationActivities:))]
107        #[unsafe(method_family = init)]
108        pub unsafe fn initWithActivityItems_applicationActivities(
109            this: Allocated<Self>,
110            activity_items: &NSArray,
111            application_activities: Option<&NSArray<UIActivity>>,
112        ) -> Retained<Self>;
113
114        #[cfg(all(feature = "UIActivity", feature = "block2"))]
115        #[deprecated]
116        #[unsafe(method(completionHandler))]
117        #[unsafe(method_family = none)]
118        pub unsafe fn completionHandler(&self) -> UIActivityViewControllerCompletionHandler;
119
120        #[cfg(all(feature = "UIActivity", feature = "block2"))]
121        /// Setter for [`completionHandler`][Self::completionHandler].
122        #[deprecated]
123        #[unsafe(method(setCompletionHandler:))]
124        #[unsafe(method_family = none)]
125        pub unsafe fn setCompletionHandler(
126            &self,
127            completion_handler: UIActivityViewControllerCompletionHandler,
128        );
129
130        #[cfg(all(feature = "UIActivity", feature = "block2"))]
131        #[unsafe(method(completionWithItemsHandler))]
132        #[unsafe(method_family = none)]
133        pub unsafe fn completionWithItemsHandler(
134            &self,
135        ) -> UIActivityViewControllerCompletionWithItemsHandler;
136
137        #[cfg(all(feature = "UIActivity", feature = "block2"))]
138        /// Setter for [`completionWithItemsHandler`][Self::completionWithItemsHandler].
139        #[unsafe(method(setCompletionWithItemsHandler:))]
140        #[unsafe(method_family = none)]
141        pub unsafe fn setCompletionWithItemsHandler(
142            &self,
143            completion_with_items_handler: UIActivityViewControllerCompletionWithItemsHandler,
144        );
145
146        #[cfg(feature = "UIActivity")]
147        #[unsafe(method(excludedActivityTypes))]
148        #[unsafe(method_family = none)]
149        pub unsafe fn excludedActivityTypes(&self) -> Option<Retained<NSArray<UIActivityType>>>;
150
151        #[cfg(feature = "UIActivity")]
152        /// Setter for [`excludedActivityTypes`][Self::excludedActivityTypes].
153        #[unsafe(method(setExcludedActivityTypes:))]
154        #[unsafe(method_family = none)]
155        pub unsafe fn setExcludedActivityTypes(
156            &self,
157            excluded_activity_types: Option<&NSArray<UIActivityType>>,
158        );
159
160        /// Hides some sections of the activity view controller. Default is none
161        #[unsafe(method(excludedActivitySectionTypes))]
162        #[unsafe(method_family = none)]
163        pub unsafe fn excludedActivitySectionTypes(&self) -> UIActivitySectionTypes;
164
165        /// Setter for [`excludedActivitySectionTypes`][Self::excludedActivitySectionTypes].
166        #[unsafe(method(setExcludedActivitySectionTypes:))]
167        #[unsafe(method_family = none)]
168        pub unsafe fn setExcludedActivitySectionTypes(
169            &self,
170            excluded_activity_section_types: UIActivitySectionTypes,
171        );
172
173        /// In some contexts, the activity view controller can elevate a specific activity in the header view to enhance it.
174        /// The prominent activity can only be chosen by the system.
175        /// Defaults to YES.
176        #[unsafe(method(allowsProminentActivity))]
177        #[unsafe(method_family = none)]
178        pub unsafe fn allowsProminentActivity(&self) -> bool;
179
180        /// Setter for [`allowsProminentActivity`][Self::allowsProminentActivity].
181        #[unsafe(method(setAllowsProminentActivity:))]
182        #[unsafe(method_family = none)]
183        pub unsafe fn setAllowsProminentActivity(&self, allows_prominent_activity: bool);
184    );
185}
186
187/// Methods declared on superclass `NSObject`.
188#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
189impl UIActivityViewController {
190    extern_methods!(
191        #[unsafe(method(new))]
192        #[unsafe(method_family = new)]
193        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
194    );
195}
196
197/// UIActivityItemsConfiguration.
198#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
199impl UIActivityViewController {
200    extern_methods!(
201        #[cfg(feature = "UIActivityItemsConfigurationReading")]
202        #[unsafe(method(initWithActivityItemsConfiguration:))]
203        #[unsafe(method_family = init)]
204        pub unsafe fn initWithActivityItemsConfiguration(
205            this: Allocated<Self>,
206            activity_items_configuration: &ProtocolObject<dyn UIActivityItemsConfigurationReading>,
207        ) -> Retained<Self>;
208    );
209}