objc2_ui_kit/generated/
NSItemProvider_UIKitAdditions.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::*;
6#[cfg(feature = "objc2-core-foundation")]
7use objc2_core_foundation::*;
8use objc2_foundation::*;
9
10use crate::*;
11
12/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uipreferredpresentationstyle?language=objc)
13// NS_ENUM
14#[repr(transparent)]
15#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16pub struct UIPreferredPresentationStyle(pub NSInteger);
17impl UIPreferredPresentationStyle {
18    #[doc(alias = "UIPreferredPresentationStyleUnspecified")]
19    pub const Unspecified: Self = Self(0);
20    #[doc(alias = "UIPreferredPresentationStyleInline")]
21    pub const Inline: Self = Self(1);
22    #[doc(alias = "UIPreferredPresentationStyleAttachment")]
23    pub const Attachment: Self = Self(2);
24}
25
26unsafe impl Encode for UIPreferredPresentationStyle {
27    const ENCODING: Encoding = NSInteger::ENCODING;
28}
29
30unsafe impl RefEncode for UIPreferredPresentationStyle {
31    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
32}
33
34mod private_NSItemProviderUIKitAdditions {
35    pub trait Sealed {}
36}
37
38/// Category "UIKitAdditions" on [`NSItemProvider`].
39#[doc(alias = "UIKitAdditions")]
40pub unsafe trait NSItemProviderUIKitAdditions:
41    ClassType + Sized + private_NSItemProviderUIKitAdditions::Sealed
42{
43    extern_methods!(
44        #[unsafe(method(teamData))]
45        #[unsafe(method_family = none)]
46        fn teamData(&self) -> Option<Retained<NSData>>;
47
48        /// Setter for [`teamData`][Self::teamData].
49        ///
50        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
51        #[unsafe(method(setTeamData:))]
52        #[unsafe(method_family = none)]
53        fn setTeamData(&self, team_data: Option<&NSData>);
54
55        #[cfg(feature = "objc2-core-foundation")]
56        #[unsafe(method(preferredPresentationSize))]
57        #[unsafe(method_family = none)]
58        fn preferredPresentationSize(&self) -> CGSize;
59
60        #[cfg(feature = "objc2-core-foundation")]
61        /// Setter for [`preferredPresentationSize`][Self::preferredPresentationSize].
62        #[unsafe(method(setPreferredPresentationSize:))]
63        #[unsafe(method_family = none)]
64        fn setPreferredPresentationSize(&self, preferred_presentation_size: CGSize);
65
66        #[unsafe(method(preferredPresentationStyle))]
67        #[unsafe(method_family = none)]
68        fn preferredPresentationStyle(&self) -> UIPreferredPresentationStyle;
69
70        /// Setter for [`preferredPresentationStyle`][Self::preferredPresentationStyle].
71        #[unsafe(method(setPreferredPresentationStyle:))]
72        #[unsafe(method_family = none)]
73        fn setPreferredPresentationStyle(
74            &self,
75            preferred_presentation_style: UIPreferredPresentationStyle,
76        );
77    );
78}
79
80impl private_NSItemProviderUIKitAdditions::Sealed for NSItemProvider {}
81unsafe impl NSItemProviderUIKitAdditions for NSItemProvider {}
82
83extern_protocol!(
84    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiitemproviderpresentationsizeproviding?language=objc)
85    pub unsafe trait UIItemProviderPresentationSizeProviding:
86        NSObjectProtocol + MainThreadOnly
87    {
88        #[cfg(feature = "objc2-core-foundation")]
89        #[unsafe(method(preferredPresentationSizeForItemProvider))]
90        #[unsafe(method_family = none)]
91        fn preferredPresentationSizeForItemProvider(&self) -> CGSize;
92    }
93);
94
95extern_protocol!(
96    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiitemproviderreadingaugmentationproviding?language=objc)
97    pub unsafe trait UIItemProviderReadingAugmentationProviding {
98        /// # Safety
99        ///
100        /// `requested_class` probably has further requirements.
101        #[unsafe(method(objectWithItemProviderData:typeIdentifier:requestedClass:error:_))]
102        #[unsafe(method_family = none)]
103        unsafe fn objectWithItemProviderData_typeIdentifier_requestedClass_error(
104            data: &NSData,
105            type_identifier: &NSString,
106            requested_class: &AnyClass,
107        ) -> Result<Retained<AnyObject>, Retained<NSError>>;
108
109        #[unsafe(method(additionalLeadingReadableTypeIdentifiersForItemProvider))]
110        #[unsafe(method_family = none)]
111        fn additionalLeadingReadableTypeIdentifiersForItemProvider() -> Retained<NSArray<NSString>>;
112
113        #[unsafe(method(additionalTrailingReadableTypeIdentifiersForItemProvider))]
114        #[unsafe(method_family = none)]
115        fn additionalTrailingReadableTypeIdentifiersForItemProvider() -> Retained<NSArray<NSString>>;
116    }
117);
118
119extern_protocol!(
120    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiitemproviderreadingaugmentationdesignating?language=objc)
121    pub unsafe trait UIItemProviderReadingAugmentationDesignating:
122        NSItemProviderReading
123    {
124        #[unsafe(method(_ui_augmentingNSItemProviderReadingClass))]
125        #[unsafe(method_family = none)]
126        fn _ui_augmentingNSItemProviderReadingClass() -> &'static AnyClass;
127    }
128);