Skip to main content

objc2_external_accessory/generated/
EAAccessory.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/externalaccessory/eaconnectionidnone?language=objc)
11pub const EAConnectionIDNone: c_uint = 0;
12
13extern_class!(
14    /// [Apple's documentation](https://developer.apple.com/documentation/externalaccessory/eaaccessory?language=objc)
15    #[unsafe(super(NSObject))]
16    #[derive(Debug, PartialEq, Eq, Hash)]
17    pub struct EAAccessory;
18);
19
20extern_conformance!(
21    unsafe impl NSObjectProtocol for EAAccessory {}
22);
23
24impl EAAccessory {
25    extern_methods!(
26        #[unsafe(method(isConnected))]
27        #[unsafe(method_family = none)]
28        pub unsafe fn isConnected(&self) -> bool;
29
30        #[unsafe(method(connectionID))]
31        #[unsafe(method_family = none)]
32        pub unsafe fn connectionID(&self) -> NSUInteger;
33
34        #[unsafe(method(manufacturer))]
35        #[unsafe(method_family = none)]
36        pub unsafe fn manufacturer(&self) -> Retained<NSString>;
37
38        #[unsafe(method(name))]
39        #[unsafe(method_family = none)]
40        pub unsafe fn name(&self) -> Retained<NSString>;
41
42        #[unsafe(method(modelNumber))]
43        #[unsafe(method_family = none)]
44        pub unsafe fn modelNumber(&self) -> Retained<NSString>;
45
46        #[unsafe(method(serialNumber))]
47        #[unsafe(method_family = none)]
48        pub unsafe fn serialNumber(&self) -> Retained<NSString>;
49
50        #[unsafe(method(firmwareRevision))]
51        #[unsafe(method_family = none)]
52        pub unsafe fn firmwareRevision(&self) -> Retained<NSString>;
53
54        #[unsafe(method(hardwareRevision))]
55        #[unsafe(method_family = none)]
56        pub unsafe fn hardwareRevision(&self) -> Retained<NSString>;
57
58        #[deprecated = "Not supported"]
59        #[unsafe(method(dockType))]
60        #[unsafe(method_family = none)]
61        pub unsafe fn dockType(&self) -> Retained<NSString>;
62
63        #[unsafe(method(protocolStrings))]
64        #[unsafe(method_family = none)]
65        pub unsafe fn protocolStrings(&self) -> Retained<NSArray<NSString>>;
66
67        /// # Safety
68        ///
69        /// This is not retained internally, you must ensure the object is still alive.
70        #[unsafe(method(delegate))]
71        #[unsafe(method_family = none)]
72        pub unsafe fn delegate(&self) -> Option<Retained<ProtocolObject<dyn EAAccessoryDelegate>>>;
73
74        /// Setter for [`delegate`][Self::delegate].
75        ///
76        /// # Safety
77        ///
78        /// This is unretained, you must ensure the object is kept alive while in use.
79        #[unsafe(method(setDelegate:))]
80        #[unsafe(method_family = none)]
81        pub unsafe fn setDelegate(
82            &self,
83            delegate: Option<&ProtocolObject<dyn EAAccessoryDelegate>>,
84        );
85    );
86}
87
88/// Methods declared on superclass `NSObject`.
89impl EAAccessory {
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}
100
101extern_protocol!(
102    /// [Apple's documentation](https://developer.apple.com/documentation/externalaccessory/eaaccessorydelegate?language=objc)
103    pub unsafe trait EAAccessoryDelegate: NSObjectProtocol {
104        #[optional]
105        #[unsafe(method(accessoryDidDisconnect:))]
106        #[unsafe(method_family = none)]
107        unsafe fn accessoryDidDisconnect(&self, accessory: &EAAccessory);
108    }
109);