objc2_accessory_setup_kit/generated/ASPickerDisplaySettings.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/// The type used for the accessory picker's discovery timeout value.
11///
12/// See also [Apple's documentation](https://developer.apple.com/documentation/accessorysetupkit/aspickerdisplaysettingsdiscoverytimeout?language=objc)
13// NS_TYPED_ENUM
14pub type ASPickerDisplaySettingsDiscoveryTimeout = NSTimeInterval;
15
16extern "C" {
17 /// A picker discovery timeout value that times out after about about 60 seconds.
18 ///
19 /// See also [Apple's documentation](https://developer.apple.com/documentation/accessorysetupkit/aspickerdisplaysettingsdiscoverytimeoutshort?language=objc)
20 pub static ASPickerDisplaySettingsDiscoveryTimeoutShort:
21 ASPickerDisplaySettingsDiscoveryTimeout;
22}
23
24extern "C" {
25 /// A picker discovery timeout value that times out after about two minutes.
26 ///
27 /// See also [Apple's documentation](https://developer.apple.com/documentation/accessorysetupkit/aspickerdisplaysettingsdiscoverytimeoutmedium?language=objc)
28 pub static ASPickerDisplaySettingsDiscoveryTimeoutMedium:
29 ASPickerDisplaySettingsDiscoveryTimeout;
30}
31
32extern "C" {
33 /// A picker discovery timeout value that times out after about five minutes.
34 ///
35 /// See also [Apple's documentation](https://developer.apple.com/documentation/accessorysetupkit/aspickerdisplaysettingsdiscoverytimeoutlong?language=objc)
36 pub static ASPickerDisplaySettingsDiscoveryTimeoutLong: ASPickerDisplaySettingsDiscoveryTimeout;
37}
38
39extern_class!(
40 /// A type that contains settings to customize the display of the accessory picker
41 ///
42 /// See also [Apple's documentation](https://developer.apple.com/documentation/accessorysetupkit/aspickerdisplaysettings?language=objc)
43 #[unsafe(super(NSObject))]
44 #[derive(Debug, PartialEq, Eq, Hash)]
45 pub struct ASPickerDisplaySettings;
46);
47
48unsafe impl Send for ASPickerDisplaySettings {}
49
50unsafe impl Sync for ASPickerDisplaySettings {}
51
52extern_conformance!(
53 unsafe impl NSObjectProtocol for ASPickerDisplaySettings {}
54);
55
56impl ASPickerDisplaySettings {
57 extern_methods!(
58 /// An empty settings object.
59 #[unsafe(method(defaultSettings))]
60 #[unsafe(method_family = none)]
61 pub unsafe fn defaultSettings() -> Retained<ASPickerDisplaySettings>;
62
63 /// Custom timeout for picker. Default is 30 seconds.
64 ///
65 /// This property is not atomic.
66 ///
67 /// # Safety
68 ///
69 /// This might not be thread-safe.
70 #[unsafe(method(discoveryTimeout))]
71 #[unsafe(method_family = none)]
72 pub unsafe fn discoveryTimeout(&self) -> ASPickerDisplaySettingsDiscoveryTimeout;
73
74 /// Setter for [`discoveryTimeout`][Self::discoveryTimeout].
75 ///
76 /// # Safety
77 ///
78 /// This might not be thread-safe.
79 #[unsafe(method(setDiscoveryTimeout:))]
80 #[unsafe(method_family = none)]
81 pub unsafe fn setDiscoveryTimeout(
82 &self,
83 discovery_timeout: ASPickerDisplaySettingsDiscoveryTimeout,
84 );
85 );
86}
87
88/// Methods declared on superclass `NSObject`.
89impl ASPickerDisplaySettings {
90 extern_methods!(
91 #[unsafe(method(init))]
92 #[unsafe(method_family = init)]
93 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
94
95 #[unsafe(method(new))]
96 #[unsafe(method_family = new)]
97 pub unsafe fn new() -> Retained<Self>;
98 );
99}