use core::ptr::NonNull;
use objc2::__framework_prelude::*;
#[cfg(feature = "objc2-core-foundation")]
use objc2_core_foundation::*;
use objc2_foundation::*;
use crate::*;
pub type UIActivityItemsConfigurationMetadataKey = NSString;
extern "C" {
pub static UIActivityItemsConfigurationMetadataKeyTitle:
&'static UIActivityItemsConfigurationMetadataKey;
}
extern "C" {
pub static UIActivityItemsConfigurationMetadataKeyMessageBody:
&'static UIActivityItemsConfigurationMetadataKey;
}
extern "C" {
pub static UIActivityItemsConfigurationMetadataKeyLinkPresentationMetadata:
&'static UIActivityItemsConfigurationMetadataKey;
}
pub type UIActivityItemsConfigurationPreviewIntent = NSString;
extern "C" {
pub static UIActivityItemsConfigurationPreviewIntentFullSize:
&'static UIActivityItemsConfigurationPreviewIntent;
}
extern "C" {
pub static UIActivityItemsConfigurationPreviewIntentThumbnail:
&'static UIActivityItemsConfigurationPreviewIntent;
}
pub type UIActivityItemsConfigurationInteraction = NSString;
extern "C" {
pub static UIActivityItemsConfigurationInteractionShare:
&'static UIActivityItemsConfigurationInteraction;
}
extern "C" {
pub static UIActivityItemsConfigurationInteractionCopy:
&'static UIActivityItemsConfigurationInteraction;
}
extern_protocol!(
pub unsafe trait UIActivityItemsConfigurationReading:
NSObjectProtocol + MainThreadOnly
{
#[unsafe(method(itemProvidersForActivityItemsConfiguration))]
#[unsafe(method_family = none)]
fn itemProvidersForActivityItemsConfiguration(&self) -> Retained<NSArray<NSItemProvider>>;
#[optional]
#[unsafe(method(activityItemsConfigurationSupportsInteraction:))]
#[unsafe(method_family = none)]
fn activityItemsConfigurationSupportsInteraction(
&self,
interaction: &UIActivityItemsConfigurationInteraction,
) -> bool;
#[optional]
#[unsafe(method(activityItemsConfigurationMetadataForKey:))]
#[unsafe(method_family = none)]
fn activityItemsConfigurationMetadataForKey(
&self,
key: &UIActivityItemsConfigurationMetadataKey,
) -> Option<Retained<AnyObject>>;
#[optional]
#[unsafe(method(activityItemsConfigurationMetadataForItemAtIndex:key:))]
#[unsafe(method_family = none)]
fn activityItemsConfigurationMetadataForItemAtIndex_key(
&self,
index: NSInteger,
key: &UIActivityItemsConfigurationMetadataKey,
) -> Option<Retained<AnyObject>>;
#[cfg(feature = "objc2-core-foundation")]
#[optional]
#[unsafe(method(activityItemsConfigurationPreviewForItemAtIndex:intent:suggestedSize:))]
#[unsafe(method_family = none)]
fn activityItemsConfigurationPreviewForItemAtIndex_intent_suggestedSize(
&self,
index: NSInteger,
intent: &UIActivityItemsConfigurationPreviewIntent,
suggested_size: CGSize,
) -> Option<Retained<NSItemProvider>>;
#[cfg(feature = "UIActivity")]
#[optional]
#[unsafe(method(applicationActivitiesForActivityItemsConfiguration))]
#[unsafe(method_family = none)]
fn applicationActivitiesForActivityItemsConfiguration(
&self,
) -> Option<Retained<NSArray<UIActivity>>>;
}
);
extern_protocol!(
pub unsafe trait UIActivityItemsConfigurationProviding: NSObjectProtocol {
#[unsafe(method(activityItemsConfiguration))]
#[unsafe(method_family = none)]
fn activityItemsConfiguration(
&self,
mtm: MainThreadMarker,
) -> Option<Retained<ProtocolObject<dyn UIActivityItemsConfigurationReading>>>;
}
);