objc2_ui_kit/generated/
UIActivity.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/uiactivitytype?language=objc)
11// NS_TYPED_EXTENSIBLE_ENUM
12pub type UIActivityType = NSString;
13
14extern "C" {
15    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypeposttofacebook?language=objc)
16    pub static UIActivityTypePostToFacebook: &'static UIActivityType;
17}
18
19extern "C" {
20    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypeposttotwitter?language=objc)
21    pub static UIActivityTypePostToTwitter: &'static UIActivityType;
22}
23
24extern "C" {
25    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypeposttoweibo?language=objc)
26    pub static UIActivityTypePostToWeibo: &'static UIActivityType;
27}
28
29extern "C" {
30    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypemessage?language=objc)
31    pub static UIActivityTypeMessage: &'static UIActivityType;
32}
33
34extern "C" {
35    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypemail?language=objc)
36    pub static UIActivityTypeMail: &'static UIActivityType;
37}
38
39extern "C" {
40    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypeprint?language=objc)
41    pub static UIActivityTypePrint: &'static UIActivityType;
42}
43
44extern "C" {
45    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypecopytopasteboard?language=objc)
46    pub static UIActivityTypeCopyToPasteboard: &'static UIActivityType;
47}
48
49extern "C" {
50    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypeassigntocontact?language=objc)
51    pub static UIActivityTypeAssignToContact: &'static UIActivityType;
52}
53
54extern "C" {
55    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypesavetocameraroll?language=objc)
56    pub static UIActivityTypeSaveToCameraRoll: &'static UIActivityType;
57}
58
59extern "C" {
60    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypeaddtoreadinglist?language=objc)
61    pub static UIActivityTypeAddToReadingList: &'static UIActivityType;
62}
63
64extern "C" {
65    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypeposttoflickr?language=objc)
66    pub static UIActivityTypePostToFlickr: &'static UIActivityType;
67}
68
69extern "C" {
70    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypeposttovimeo?language=objc)
71    pub static UIActivityTypePostToVimeo: &'static UIActivityType;
72}
73
74extern "C" {
75    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypeposttotencentweibo?language=objc)
76    pub static UIActivityTypePostToTencentWeibo: &'static UIActivityType;
77}
78
79extern "C" {
80    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypeairdrop?language=objc)
81    pub static UIActivityTypeAirDrop: &'static UIActivityType;
82}
83
84extern "C" {
85    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypeopeninibooks?language=objc)
86    pub static UIActivityTypeOpenInIBooks: &'static UIActivityType;
87}
88
89extern "C" {
90    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypemarkupaspdf?language=objc)
91    pub static UIActivityTypeMarkupAsPDF: &'static UIActivityType;
92}
93
94extern "C" {
95    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypeshareplay?language=objc)
96    pub static UIActivityTypeSharePlay: &'static UIActivityType;
97}
98
99extern "C" {
100    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypecollaborationinvitewithlink?language=objc)
101    pub static UIActivityTypeCollaborationInviteWithLink: &'static UIActivityType;
102}
103
104extern "C" {
105    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypecollaborationcopylink?language=objc)
106    pub static UIActivityTypeCollaborationCopyLink: &'static UIActivityType;
107}
108
109extern "C" {
110    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitytypeaddtohomescreen?language=objc)
111    pub static UIActivityTypeAddToHomeScreen: &'static UIActivityType;
112}
113
114/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivitycategory?language=objc)
115// NS_ENUM
116#[repr(transparent)]
117#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
118pub struct UIActivityCategory(pub NSInteger);
119impl UIActivityCategory {
120    #[doc(alias = "UIActivityCategoryAction")]
121    pub const Action: Self = Self(0);
122    #[doc(alias = "UIActivityCategoryShare")]
123    pub const Share: Self = Self(1);
124}
125
126unsafe impl Encode for UIActivityCategory {
127    const ENCODING: Encoding = NSInteger::ENCODING;
128}
129
130unsafe impl RefEncode for UIActivityCategory {
131    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
132}
133
134extern_class!(
135    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivity?language=objc)
136    #[unsafe(super(NSObject))]
137    #[derive(Debug, PartialEq, Eq, Hash)]
138    pub struct UIActivity;
139);
140
141extern_conformance!(
142    unsafe impl NSObjectProtocol for UIActivity {}
143);
144
145impl UIActivity {
146    extern_methods!(
147        #[unsafe(method(activityCategory))]
148        #[unsafe(method_family = none)]
149        pub fn activityCategory() -> UIActivityCategory;
150
151        #[unsafe(method(activityType))]
152        #[unsafe(method_family = none)]
153        pub fn activityType(&self) -> Option<Retained<UIActivityType>>;
154
155        #[unsafe(method(activityTitle))]
156        #[unsafe(method_family = none)]
157        pub fn activityTitle(&self) -> Option<Retained<NSString>>;
158
159        #[cfg(feature = "UIImage")]
160        #[unsafe(method(activityImage))]
161        #[unsafe(method_family = none)]
162        pub fn activityImage(&self) -> Option<Retained<UIImage>>;
163
164        /// # Safety
165        ///
166        /// `activity_items` generic should be of the correct type.
167        #[unsafe(method(canPerformWithActivityItems:))]
168        #[unsafe(method_family = none)]
169        pub unsafe fn canPerformWithActivityItems(&self, activity_items: &NSArray) -> bool;
170
171        /// # Safety
172        ///
173        /// `activity_items` generic should be of the correct type.
174        #[unsafe(method(prepareWithActivityItems:))]
175        #[unsafe(method_family = none)]
176        pub unsafe fn prepareWithActivityItems(&self, activity_items: &NSArray);
177
178        #[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
179        #[unsafe(method(activityViewController))]
180        #[unsafe(method_family = none)]
181        pub fn activityViewController(
182            &self,
183            mtm: MainThreadMarker,
184        ) -> Option<Retained<UIViewController>>;
185
186        #[unsafe(method(performActivity))]
187        #[unsafe(method_family = none)]
188        pub fn performActivity(&self);
189
190        #[unsafe(method(activityDidFinish:))]
191        #[unsafe(method_family = none)]
192        pub fn activityDidFinish(&self, completed: bool);
193    );
194}
195
196/// Methods declared on superclass `NSObject`.
197impl UIActivity {
198    extern_methods!(
199        #[unsafe(method(init))]
200        #[unsafe(method_family = init)]
201        pub fn init(this: Allocated<Self>) -> Retained<Self>;
202
203        #[unsafe(method(new))]
204        #[unsafe(method_family = new)]
205        pub fn new() -> Retained<Self>;
206    );
207}
208
209impl DefaultRetained for UIActivity {
210    #[inline]
211    fn default_retained() -> Retained<Self> {
212        Self::new()
213    }
214}