1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
#[cfg(feature = "objc2-foundation")]
use objc2_foundation::*;
use crate::*;
extern_class!(
/// IOBluetoothSDPServiceAttribute represents a single SDP service attribute.
///
/// A service attribute contains two components: an attribute ID and a data element.
///
/// See also [Apple's documentation](https://developer.apple.com/documentation/iobluetooth/iobluetoothsdpserviceattribute?language=objc)
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct IOBluetoothSDPServiceAttribute;
);
#[cfg(feature = "objc2-foundation")]
extern_conformance!(
unsafe impl NSCoding for IOBluetoothSDPServiceAttribute {}
);
extern_conformance!(
unsafe impl NSObjectProtocol for IOBluetoothSDPServiceAttribute {}
);
#[cfg(feature = "objc2-foundation")]
extern_conformance!(
unsafe impl NSSecureCoding for IOBluetoothSDPServiceAttribute {}
);
impl IOBluetoothSDPServiceAttribute {
extern_methods!(
#[cfg(feature = "Bluetooth")]
/// Creates a new service attribute with the given ID and element value.
///
/// See +[IOBluetoothSDPDataElement withElementValue:] for a description of the types that
/// may be passed in as the attributeElementValue.
///
/// Parameter `attributeID`: The attribute ID of the new service attribute.
///
/// Parameter `attributeElementValue`: The data element value of the new service attribute
///
/// Returns: Returns the newly allocated service attribute object. Returns nil if there was an error parsing the element value. The returned IOBluetoothSDPDataElement object has been autoreleased, so it is not
/// necessary for the caller to release it. If the object is to be referenced and kept around, retain
/// should be called.
///
/// # Safety
///
/// - `attribute_element_value` should be of the correct type.
/// - `attribute_element_value` might not allow `None`.
#[unsafe(method(withID:attributeElementValue:))]
#[unsafe(method_family = none)]
pub unsafe fn withID_attributeElementValue(
new_attribute_id: BluetoothSDPServiceAttributeID,
attribute_element_value: Option<&NSObject>,
) -> Option<Retained<Self>>;
#[cfg(all(feature = "Bluetooth", feature = "IOBluetoothSDPDataElement"))]
/// Creates a new service attribute with the given ID and data element.
///
/// Parameter `attributeID`: The attribute ID of the new service attribute.
///
/// Parameter `attributeElement`: The data element of the new service attribute.
///
/// Returns: Returns the newly allocated service attribute object. Returns nil if there was an error.
/// The returned IOBluetoothSDPDataElement object has been autoreleased, so it is not
/// necessary for the caller to release it. If the object is to be referenced and kept around, retain
/// should be called.
///
/// # Safety
///
/// `attribute_element` might not allow `None`.
#[unsafe(method(withID:attributeElement:))]
#[unsafe(method_family = none)]
pub unsafe fn withID_attributeElement(
new_attribute_id: BluetoothSDPServiceAttributeID,
attribute_element: Option<&IOBluetoothSDPDataElement>,
) -> Option<Retained<Self>>;
#[cfg(feature = "Bluetooth")]
/// Initializes a new service attribute with the given ID and element value.
///
/// See +[IOBluetoothSDPDataElement withElementValue:] for a description of the types that
/// may be passed in as the attributeElementValue.
///
/// Parameter `attributeID`: The attribute ID of the new service attribute.
///
/// Parameter `attributeElementValue`: The data element value of the new service attribute
///
/// Returns: Returns self if successful. Returns nil if there was an error parsing the element value.
///
/// # Safety
///
/// - `attribute_element_value` should be of the correct type.
/// - `attribute_element_value` might not allow `None`.
#[unsafe(method(initWithID:attributeElementValue:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithID_attributeElementValue(
this: Allocated<Self>,
new_attribute_id: BluetoothSDPServiceAttributeID,
attribute_element_value: Option<&NSObject>,
) -> Option<Retained<Self>>;
#[cfg(all(feature = "Bluetooth", feature = "IOBluetoothSDPDataElement"))]
/// Initializes a new service attribute with the given ID and data element.
///
/// Parameter `attributeID`: The attribute ID of the new service attribute.
///
/// Parameter `attributeElement`: The data element of the new service attribute.
///
/// Returns: Returns self if successful. Returns nil if there was an error.
///
/// # Safety
///
/// `attribute_element` might not allow `None`.
#[unsafe(method(initWithID:attributeElement:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithID_attributeElement(
this: Allocated<Self>,
new_attribute_id: BluetoothSDPServiceAttributeID,
attribute_element: Option<&IOBluetoothSDPDataElement>,
) -> Option<Retained<Self>>;
#[cfg(feature = "Bluetooth")]
/// Returns the attribute ID for the target service attribute.
///
/// Returns: Returns the attribute ID for the target service attribute.
#[unsafe(method(getAttributeID))]
#[unsafe(method_family = none)]
pub unsafe fn getAttributeID(&self) -> BluetoothSDPServiceAttributeID;
#[cfg(feature = "IOBluetoothSDPDataElement")]
/// Returns the data element for the target service attribute.
///
/// Returns: Returns the data element for the target service attribute.
#[unsafe(method(getDataElement))]
#[unsafe(method_family = none)]
pub unsafe fn getDataElement(&self) -> Option<Retained<IOBluetoothSDPDataElement>>;
#[cfg(feature = "IOBluetoothSDPDataElement")]
/// Returns the data element representing the attribute ID for the target service attribute.
///
/// Returns: Returns the data element representing the attribute ID for the target service attribute.
#[unsafe(method(getIDDataElement))]
#[unsafe(method_family = none)]
pub unsafe fn getIDDataElement(&self) -> Option<Retained<IOBluetoothSDPDataElement>>;
);
}
/// Methods declared on superclass `NSObject`.
impl IOBluetoothSDPServiceAttribute {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}