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        unsafe fn teamData(&self) -> Option<Retained<NSData>>;
47
48        /// Setter for [`teamData`][Self::teamData].
49        #[unsafe(method(setTeamData:))]
50        #[unsafe(method_family = none)]
51        unsafe fn setTeamData(&self, team_data: Option<&NSData>);
52
53        #[cfg(feature = "objc2-core-foundation")]
54        #[unsafe(method(preferredPresentationSize))]
55        #[unsafe(method_family = none)]
56        unsafe fn preferredPresentationSize(&self) -> CGSize;
57
58        #[cfg(feature = "objc2-core-foundation")]
59        /// Setter for [`preferredPresentationSize`][Self::preferredPresentationSize].
60        #[unsafe(method(setPreferredPresentationSize:))]
61        #[unsafe(method_family = none)]
62        unsafe fn setPreferredPresentationSize(&self, preferred_presentation_size: CGSize);
63
64        #[unsafe(method(preferredPresentationStyle))]
65        #[unsafe(method_family = none)]
66        unsafe fn preferredPresentationStyle(&self) -> UIPreferredPresentationStyle;
67
68        /// Setter for [`preferredPresentationStyle`][Self::preferredPresentationStyle].
69        #[unsafe(method(setPreferredPresentationStyle:))]
70        #[unsafe(method_family = none)]
71        unsafe fn setPreferredPresentationStyle(
72            &self,
73            preferred_presentation_style: UIPreferredPresentationStyle,
74        );
75    );
76}
77
78impl private_NSItemProviderUIKitAdditions::Sealed for NSItemProvider {}
79unsafe impl NSItemProviderUIKitAdditions for NSItemProvider {}
80
81extern_protocol!(
82    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiitemproviderpresentationsizeproviding?language=objc)
83    pub unsafe trait UIItemProviderPresentationSizeProviding:
84        NSObjectProtocol + MainThreadOnly
85    {
86        #[cfg(feature = "objc2-core-foundation")]
87        #[unsafe(method(preferredPresentationSizeForItemProvider))]
88        #[unsafe(method_family = none)]
89        unsafe fn preferredPresentationSizeForItemProvider(&self) -> CGSize;
90    }
91);
92
93extern_protocol!(
94    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiitemproviderreadingaugmentationproviding?language=objc)
95    pub unsafe trait UIItemProviderReadingAugmentationProviding {
96        #[unsafe(method(objectWithItemProviderData:typeIdentifier:requestedClass:error:_))]
97        #[unsafe(method_family = none)]
98        unsafe fn objectWithItemProviderData_typeIdentifier_requestedClass_error(
99            data: &NSData,
100            type_identifier: &NSString,
101            requested_class: &AnyClass,
102        ) -> Result<Retained<AnyObject>, Retained<NSError>>;
103
104        #[unsafe(method(additionalLeadingReadableTypeIdentifiersForItemProvider))]
105        #[unsafe(method_family = none)]
106        unsafe fn additionalLeadingReadableTypeIdentifiersForItemProvider(
107        ) -> Retained<NSArray<NSString>>;
108
109        #[unsafe(method(additionalTrailingReadableTypeIdentifiersForItemProvider))]
110        #[unsafe(method_family = none)]
111        unsafe fn additionalTrailingReadableTypeIdentifiersForItemProvider(
112        ) -> Retained<NSArray<NSString>>;
113    }
114);
115
116extern_protocol!(
117    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiitemproviderreadingaugmentationdesignating?language=objc)
118    pub unsafe trait UIItemProviderReadingAugmentationDesignating:
119        NSItemProviderReading
120    {
121        #[unsafe(method(_ui_augmentingNSItemProviderReadingClass))]
122        #[unsafe(method_family = none)]
123        unsafe fn _ui_augmentingNSItemProviderReadingClass() -> &'static AnyClass;
124    }
125);