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}