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
141unsafe impl NSObjectProtocol for UIActivity {}
142
143impl UIActivity {
144    extern_methods!(
145        #[unsafe(method(activityCategory))]
146        #[unsafe(method_family = none)]
147        pub unsafe fn activityCategory() -> UIActivityCategory;
148
149        #[unsafe(method(activityType))]
150        #[unsafe(method_family = none)]
151        pub unsafe fn activityType(&self) -> Option<Retained<UIActivityType>>;
152
153        #[unsafe(method(activityTitle))]
154        #[unsafe(method_family = none)]
155        pub unsafe fn activityTitle(&self) -> Option<Retained<NSString>>;
156
157        #[cfg(feature = "UIImage")]
158        #[unsafe(method(activityImage))]
159        #[unsafe(method_family = none)]
160        pub unsafe fn activityImage(&self) -> Option<Retained<UIImage>>;
161
162        #[unsafe(method(canPerformWithActivityItems:))]
163        #[unsafe(method_family = none)]
164        pub unsafe fn canPerformWithActivityItems(&self, activity_items: &NSArray) -> bool;
165
166        #[unsafe(method(prepareWithActivityItems:))]
167        #[unsafe(method_family = none)]
168        pub unsafe fn prepareWithActivityItems(&self, activity_items: &NSArray);
169
170        #[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
171        #[unsafe(method(activityViewController))]
172        #[unsafe(method_family = none)]
173        pub unsafe fn activityViewController(
174            &self,
175            mtm: MainThreadMarker,
176        ) -> Option<Retained<UIViewController>>;
177
178        #[unsafe(method(performActivity))]
179        #[unsafe(method_family = none)]
180        pub unsafe fn performActivity(&self);
181
182        #[unsafe(method(activityDidFinish:))]
183        #[unsafe(method_family = none)]
184        pub unsafe fn activityDidFinish(&self, completed: bool);
185    );
186}
187
188/// Methods declared on superclass `NSObject`.
189impl UIActivity {
190    extern_methods!(
191        #[unsafe(method(init))]
192        #[unsafe(method_family = init)]
193        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
194
195        #[unsafe(method(new))]
196        #[unsafe(method_family = new)]
197        pub unsafe fn new() -> Retained<Self>;
198    );
199}