objc2_ui_kit/generated/
UIActivityItemsConfigurationReading.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
11/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivityitemsconfigurationmetadatakey?language=objc)
12// NS_TYPED_EXTENSIBLE_ENUM
13pub type UIActivityItemsConfigurationMetadataKey = NSString;
14
15extern "C" {
16    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivityitemsconfigurationmetadatakeytitle?language=objc)
17    pub static UIActivityItemsConfigurationMetadataKeyTitle:
18        &'static UIActivityItemsConfigurationMetadataKey;
19}
20
21extern "C" {
22    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivityitemsconfigurationmetadatakeymessagebody?language=objc)
23    pub static UIActivityItemsConfigurationMetadataKeyMessageBody:
24        &'static UIActivityItemsConfigurationMetadataKey;
25}
26
27extern "C" {
28    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivityitemsconfigurationmetadatakeylinkpresentationmetadata?language=objc)
29    pub static UIActivityItemsConfigurationMetadataKeyLinkPresentationMetadata:
30        &'static UIActivityItemsConfigurationMetadataKey;
31}
32
33/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivityitemsconfigurationpreviewintent?language=objc)
34// NS_TYPED_EXTENSIBLE_ENUM
35pub type UIActivityItemsConfigurationPreviewIntent = NSString;
36
37extern "C" {
38    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivityitemsconfigurationpreviewintentfullsize?language=objc)
39    pub static UIActivityItemsConfigurationPreviewIntentFullSize:
40        &'static UIActivityItemsConfigurationPreviewIntent;
41}
42
43extern "C" {
44    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivityitemsconfigurationpreviewintentthumbnail?language=objc)
45    pub static UIActivityItemsConfigurationPreviewIntentThumbnail:
46        &'static UIActivityItemsConfigurationPreviewIntent;
47}
48
49/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivityitemsconfigurationinteraction?language=objc)
50// NS_TYPED_EXTENSIBLE_ENUM
51pub type UIActivityItemsConfigurationInteraction = NSString;
52
53extern "C" {
54    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivityitemsconfigurationinteractionshare?language=objc)
55    pub static UIActivityItemsConfigurationInteractionShare:
56        &'static UIActivityItemsConfigurationInteraction;
57}
58
59extern "C" {
60    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivityitemsconfigurationinteractioncopy?language=objc)
61    pub static UIActivityItemsConfigurationInteractionCopy:
62        &'static UIActivityItemsConfigurationInteraction;
63}
64
65extern_protocol!(
66    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivityitemsconfigurationreading?language=objc)
67    pub unsafe trait UIActivityItemsConfigurationReading:
68        NSObjectProtocol + MainThreadOnly
69    {
70        #[unsafe(method(itemProvidersForActivityItemsConfiguration))]
71        #[unsafe(method_family = none)]
72        unsafe fn itemProvidersForActivityItemsConfiguration(
73            &self,
74        ) -> Retained<NSArray<NSItemProvider>>;
75
76        #[optional]
77        #[unsafe(method(activityItemsConfigurationSupportsInteraction:))]
78        #[unsafe(method_family = none)]
79        unsafe fn activityItemsConfigurationSupportsInteraction(
80            &self,
81            interaction: &UIActivityItemsConfigurationInteraction,
82        ) -> bool;
83
84        #[optional]
85        #[unsafe(method(activityItemsConfigurationMetadataForKey:))]
86        #[unsafe(method_family = none)]
87        unsafe fn activityItemsConfigurationMetadataForKey(
88            &self,
89            key: &UIActivityItemsConfigurationMetadataKey,
90        ) -> Option<Retained<AnyObject>>;
91
92        #[optional]
93        #[unsafe(method(activityItemsConfigurationMetadataForItemAtIndex:key:))]
94        #[unsafe(method_family = none)]
95        unsafe fn activityItemsConfigurationMetadataForItemAtIndex_key(
96            &self,
97            index: NSInteger,
98            key: &UIActivityItemsConfigurationMetadataKey,
99        ) -> Option<Retained<AnyObject>>;
100
101        #[cfg(feature = "objc2-core-foundation")]
102        #[optional]
103        #[unsafe(method(activityItemsConfigurationPreviewForItemAtIndex:intent:suggestedSize:))]
104        #[unsafe(method_family = none)]
105        unsafe fn activityItemsConfigurationPreviewForItemAtIndex_intent_suggestedSize(
106            &self,
107            index: NSInteger,
108            intent: &UIActivityItemsConfigurationPreviewIntent,
109            suggested_size: CGSize,
110        ) -> Option<Retained<NSItemProvider>>;
111
112        #[cfg(feature = "UIActivity")]
113        #[optional]
114        #[unsafe(method(applicationActivitiesForActivityItemsConfiguration))]
115        #[unsafe(method_family = none)]
116        unsafe fn applicationActivitiesForActivityItemsConfiguration(
117            &self,
118        ) -> Option<Retained<NSArray<UIActivity>>>;
119    }
120);
121
122extern_protocol!(
123    /// Protocol adopted by classes that can provide activity items configurations
124    ///
125    /// See also [Apple's documentation](https://developer.apple.com/documentation/uikit/uiactivityitemsconfigurationproviding?language=objc)
126    pub unsafe trait UIActivityItemsConfigurationProviding: NSObjectProtocol {
127        #[unsafe(method(activityItemsConfiguration))]
128        #[unsafe(method_family = none)]
129        unsafe fn activityItemsConfiguration(
130            &self,
131            mtm: MainThreadMarker,
132        ) -> Option<Retained<ProtocolObject<dyn UIActivityItemsConfigurationReading>>>;
133    }
134);