objc2_accessibility/generated/
AXCustomContent.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::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10/// [Apple's documentation](https://developer.apple.com/documentation/accessibility/axcustomcontentimportance?language=objc)
11// NS_ENUM
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct AXCustomContentImportance(pub NSUInteger);
15impl AXCustomContentImportance {
16    #[doc(alias = "AXCustomContentImportanceDefault")]
17    pub const Default: Self = Self(0);
18    #[doc(alias = "AXCustomContentImportanceHigh")]
19    pub const High: Self = Self(1);
20}
21
22unsafe impl Encode for AXCustomContentImportance {
23    const ENCODING: Encoding = NSUInteger::ENCODING;
24}
25
26unsafe impl RefEncode for AXCustomContentImportance {
27    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
28}
29
30extern_class!(
31    /// [Apple's documentation](https://developer.apple.com/documentation/accessibility/axcustomcontent?language=objc)
32    #[unsafe(super(NSObject))]
33    #[derive(Debug, PartialEq, Eq, Hash)]
34    pub struct AXCustomContent;
35);
36
37extern_conformance!(
38    unsafe impl NSCoding for AXCustomContent {}
39);
40
41extern_conformance!(
42    unsafe impl NSCopying for AXCustomContent {}
43);
44
45unsafe impl CopyingHelper for AXCustomContent {
46    type Result = Self;
47}
48
49extern_conformance!(
50    unsafe impl NSObjectProtocol for AXCustomContent {}
51);
52
53extern_conformance!(
54    unsafe impl NSSecureCoding for AXCustomContent {}
55);
56
57impl AXCustomContent {
58    extern_methods!(
59        #[unsafe(method(customContentWithLabel:value:))]
60        #[unsafe(method_family = none)]
61        pub unsafe fn customContentWithLabel_value(
62            label: &NSString,
63            value: &NSString,
64        ) -> Retained<Self>;
65
66        #[unsafe(method(customContentWithAttributedLabel:attributedValue:))]
67        #[unsafe(method_family = none)]
68        pub unsafe fn customContentWithAttributedLabel_attributedValue(
69            label: &NSAttributedString,
70            value: &NSAttributedString,
71        ) -> Retained<Self>;
72
73        #[unsafe(method(label))]
74        #[unsafe(method_family = none)]
75        pub unsafe fn label(&self) -> Retained<NSString>;
76
77        #[unsafe(method(attributedLabel))]
78        #[unsafe(method_family = none)]
79        pub unsafe fn attributedLabel(&self) -> Retained<NSAttributedString>;
80
81        #[unsafe(method(value))]
82        #[unsafe(method_family = none)]
83        pub unsafe fn value(&self) -> Retained<NSString>;
84
85        #[unsafe(method(attributedValue))]
86        #[unsafe(method_family = none)]
87        pub unsafe fn attributedValue(&self) -> Retained<NSAttributedString>;
88
89        #[unsafe(method(importance))]
90        #[unsafe(method_family = none)]
91        pub unsafe fn importance(&self) -> AXCustomContentImportance;
92
93        /// Setter for [`importance`][Self::importance].
94        #[unsafe(method(setImportance:))]
95        #[unsafe(method_family = none)]
96        pub unsafe fn setImportance(&self, importance: AXCustomContentImportance);
97
98        #[unsafe(method(init))]
99        #[unsafe(method_family = init)]
100        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
101
102        #[unsafe(method(new))]
103        #[unsafe(method_family = new)]
104        pub unsafe fn new() -> Retained<Self>;
105    );
106}
107
108/// [Apple's documentation](https://developer.apple.com/documentation/accessibility/axcustomcontentreturnblock?language=objc)
109#[cfg(feature = "block2")]
110pub type AXCustomContentReturnBlock =
111    *mut block2::DynBlock<dyn Fn() -> *mut NSArray<AXCustomContent>>;
112
113extern_protocol!(
114    /// [Apple's documentation](https://developer.apple.com/documentation/accessibility/axcustomcontentprovider?language=objc)
115    pub unsafe trait AXCustomContentProvider: NSObjectProtocol {
116        #[unsafe(method(accessibilityCustomContent))]
117        #[unsafe(method_family = none)]
118        unsafe fn accessibilityCustomContent(&self) -> Retained<NSArray<AXCustomContent>>;
119
120        /// Setter for [`accessibilityCustomContent`][Self::accessibilityCustomContent].
121        #[unsafe(method(setAccessibilityCustomContent:))]
122        #[unsafe(method_family = none)]
123        unsafe fn setAccessibilityCustomContent(
124            &self,
125            accessibility_custom_content: Option<&NSArray<AXCustomContent>>,
126        );
127
128        #[cfg(feature = "block2")]
129        #[optional]
130        #[unsafe(method(accessibilityCustomContentBlock))]
131        #[unsafe(method_family = none)]
132        unsafe fn accessibilityCustomContentBlock(&self) -> AXCustomContentReturnBlock;
133
134        #[cfg(feature = "block2")]
135        /// Setter for [`accessibilityCustomContentBlock`][Self::accessibilityCustomContentBlock].
136        #[optional]
137        #[unsafe(method(setAccessibilityCustomContentBlock:))]
138        #[unsafe(method_family = none)]
139        unsafe fn setAccessibilityCustomContentBlock(
140            &self,
141            accessibility_custom_content_block: AXCustomContentReturnBlock,
142        );
143    }
144);