objc2_ui_kit/generated/
UIDocumentBrowserAction.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct UIDocumentBrowserActionAvailability(pub NSInteger);
15bitflags::bitflags! {
16 impl UIDocumentBrowserActionAvailability: NSInteger {
17 #[doc(alias = "UIDocumentBrowserActionAvailabilityMenu")]
18 const Menu = 1;
19 #[doc(alias = "UIDocumentBrowserActionAvailabilityNavigationBar")]
20 const NavigationBar = 1<<1;
21 }
22}
23
24unsafe impl Encode for UIDocumentBrowserActionAvailability {
25 const ENCODING: Encoding = NSInteger::ENCODING;
26}
27
28unsafe impl RefEncode for UIDocumentBrowserActionAvailability {
29 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
30}
31
32extern_class!(
33 #[unsafe(super(NSObject))]
37 #[derive(Debug, PartialEq, Eq, Hash)]
38 pub struct UIDocumentBrowserAction;
39);
40
41extern_conformance!(
42 unsafe impl NSObjectProtocol for UIDocumentBrowserAction {}
43);
44
45impl UIDocumentBrowserAction {
46 extern_methods!(
47 #[unsafe(method(init))]
48 #[unsafe(method_family = init)]
49 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
50
51 #[cfg(feature = "block2")]
52 #[unsafe(method(initWithIdentifier:localizedTitle:availability:handler:))]
53 #[unsafe(method_family = init)]
54 pub fn initWithIdentifier_localizedTitle_availability_handler(
55 this: Allocated<Self>,
56 identifier: &NSString,
57 localized_title: &NSString,
58 availability: UIDocumentBrowserActionAvailability,
59 handler: &block2::DynBlock<dyn Fn(NonNull<NSArray<NSURL>>)>,
60 ) -> Retained<Self>;
61
62 #[unsafe(method(identifier))]
63 #[unsafe(method_family = none)]
64 pub fn identifier(&self) -> Retained<NSString>;
65
66 #[unsafe(method(localizedTitle))]
67 #[unsafe(method_family = none)]
68 pub fn localizedTitle(&self) -> Retained<NSString>;
69
70 #[unsafe(method(availability))]
71 #[unsafe(method_family = none)]
72 pub fn availability(&self) -> UIDocumentBrowserActionAvailability;
73
74 #[cfg(feature = "UIImage")]
75 #[unsafe(method(image))]
76 #[unsafe(method_family = none)]
77 pub fn image(&self) -> Option<Retained<UIImage>>;
78
79 #[cfg(feature = "UIImage")]
80 #[unsafe(method(setImage:))]
82 #[unsafe(method_family = none)]
83 pub fn setImage(&self, image: Option<&UIImage>);
84
85 #[cfg(feature = "UIImage")]
86 #[unsafe(method(imageOnlyForContextMenu))]
87 #[unsafe(method_family = none)]
88 pub fn imageOnlyForContextMenu(&self) -> Option<Retained<UIImage>>;
89
90 #[cfg(feature = "UIImage")]
91 #[unsafe(method(setImageOnlyForContextMenu:))]
93 #[unsafe(method_family = none)]
94 pub fn setImageOnlyForContextMenu(&self, image_only_for_context_menu: Option<&UIImage>);
95
96 #[unsafe(method(supportedContentTypes))]
98 #[unsafe(method_family = none)]
99 pub fn supportedContentTypes(&self) -> Retained<NSArray<NSString>>;
100
101 #[unsafe(method(setSupportedContentTypes:))]
105 #[unsafe(method_family = none)]
106 pub fn setSupportedContentTypes(&self, supported_content_types: &NSArray<NSString>);
107
108 #[unsafe(method(supportsMultipleItems))]
110 #[unsafe(method_family = none)]
111 pub fn supportsMultipleItems(&self) -> bool;
112
113 #[unsafe(method(setSupportsMultipleItems:))]
115 #[unsafe(method_family = none)]
116 pub fn setSupportsMultipleItems(&self, supports_multiple_items: bool);
117 );
118}
119
120impl UIDocumentBrowserAction {
122 extern_methods!(
123 #[unsafe(method(new))]
124 #[unsafe(method_family = new)]
125 pub unsafe fn new() -> Retained<Self>;
126 );
127}