objc2_external_accessory/generated/
EAAccessoryManager.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/eabluetoothaccessorypickererrorcode?language=objc)
11// NS_ENUM
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct EABluetoothAccessoryPickerErrorCode(pub NSInteger);
15impl EABluetoothAccessoryPickerErrorCode {
16    #[doc(alias = "EABluetoothAccessoryPickerAlreadyConnected")]
17    pub const AlreadyConnected: Self = Self(0);
18    #[doc(alias = "EABluetoothAccessoryPickerResultNotFound")]
19    pub const ResultNotFound: Self = Self(1);
20    #[doc(alias = "EABluetoothAccessoryPickerResultCancelled")]
21    pub const ResultCancelled: Self = Self(2);
22    #[doc(alias = "EABluetoothAccessoryPickerResultFailed")]
23    pub const ResultFailed: Self = Self(3);
24}
25
26unsafe impl Encode for EABluetoothAccessoryPickerErrorCode {
27    const ENCODING: Encoding = NSInteger::ENCODING;
28}
29
30unsafe impl RefEncode for EABluetoothAccessoryPickerErrorCode {
31    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
32}
33
34extern "C" {
35    /// [Apple's documentation](https://developer.apple.com/documentation/externalaccessory/eabluetoothaccessorypickererrordomain?language=objc)
36    pub static EABluetoothAccessoryPickerErrorDomain: &'static NSString;
37}
38
39/// [Apple's documentation](https://developer.apple.com/documentation/externalaccessory/eabluetoothaccessorypickercompletion?language=objc)
40#[cfg(feature = "block2")]
41pub type EABluetoothAccessoryPickerCompletion = *mut block2::Block<dyn Fn(*mut NSError)>;
42
43extern "C" {
44    /// [Apple's documentation](https://developer.apple.com/documentation/externalaccessory/eaaccessorydidconnectnotification?language=objc)
45    pub static EAAccessoryDidConnectNotification: &'static NSString;
46}
47
48extern "C" {
49    /// [Apple's documentation](https://developer.apple.com/documentation/externalaccessory/eaaccessorydiddisconnectnotification?language=objc)
50    pub static EAAccessoryDidDisconnectNotification: &'static NSString;
51}
52
53extern "C" {
54    /// [Apple's documentation](https://developer.apple.com/documentation/externalaccessory/eaaccessorykey?language=objc)
55    pub static EAAccessoryKey: &'static NSString;
56}
57
58extern "C" {
59    /// [Apple's documentation](https://developer.apple.com/documentation/externalaccessory/eaaccessoryselectedkey?language=objc)
60    pub static EAAccessorySelectedKey: &'static NSString;
61}
62
63extern_class!(
64    /// [Apple's documentation](https://developer.apple.com/documentation/externalaccessory/eaaccessorymanager?language=objc)
65    #[unsafe(super(NSObject))]
66    #[derive(Debug, PartialEq, Eq, Hash)]
67    pub struct EAAccessoryManager;
68);
69
70unsafe impl NSObjectProtocol for EAAccessoryManager {}
71
72impl EAAccessoryManager {
73    extern_methods!(
74        #[unsafe(method(sharedAccessoryManager))]
75        #[unsafe(method_family = none)]
76        pub unsafe fn sharedAccessoryManager() -> Retained<EAAccessoryManager>;
77
78        #[cfg(feature = "block2")]
79        #[unsafe(method(showBluetoothAccessoryPickerWithNameFilter:completion:))]
80        #[unsafe(method_family = none)]
81        pub unsafe fn showBluetoothAccessoryPickerWithNameFilter_completion(
82            &self,
83            predicate: Option<&NSPredicate>,
84            completion: EABluetoothAccessoryPickerCompletion,
85        );
86
87        #[unsafe(method(registerForLocalNotifications))]
88        #[unsafe(method_family = none)]
89        pub unsafe fn registerForLocalNotifications(&self);
90
91        #[unsafe(method(unregisterForLocalNotifications))]
92        #[unsafe(method_family = none)]
93        pub unsafe fn unregisterForLocalNotifications(&self);
94
95        #[cfg(feature = "EAAccessory")]
96        #[unsafe(method(connectedAccessories))]
97        #[unsafe(method_family = none)]
98        pub unsafe fn connectedAccessories(&self) -> Retained<NSArray<EAAccessory>>;
99    );
100}
101
102/// Methods declared on superclass `NSObject`.
103impl EAAccessoryManager {
104    extern_methods!(
105        #[unsafe(method(init))]
106        #[unsafe(method_family = init)]
107        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
108
109        #[unsafe(method(new))]
110        #[unsafe(method_family = new)]
111        pub unsafe fn new() -> Retained<Self>;
112    );
113}