objc2_foundation/generated/
NSKeyValueCoding.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::*;
6
7use crate::*;
8
9extern "C" {
10    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsundefinedkeyexception?language=objc)
11    #[cfg(all(feature = "NSObjCRuntime", feature = "NSString"))]
12    pub static NSUndefinedKeyException: &'static NSExceptionName;
13}
14
15/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nskeyvalueoperator?language=objc)
16// NS_TYPED_ENUM
17#[cfg(feature = "NSString")]
18pub type NSKeyValueOperator = NSString;
19
20extern "C" {
21    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsaveragekeyvalueoperator?language=objc)
22    #[cfg(feature = "NSString")]
23    pub static NSAverageKeyValueOperator: &'static NSKeyValueOperator;
24}
25
26extern "C" {
27    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nscountkeyvalueoperator?language=objc)
28    #[cfg(feature = "NSString")]
29    pub static NSCountKeyValueOperator: &'static NSKeyValueOperator;
30}
31
32extern "C" {
33    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsdistinctunionofarrayskeyvalueoperator?language=objc)
34    #[cfg(feature = "NSString")]
35    pub static NSDistinctUnionOfArraysKeyValueOperator: &'static NSKeyValueOperator;
36}
37
38extern "C" {
39    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsdistinctunionofobjectskeyvalueoperator?language=objc)
40    #[cfg(feature = "NSString")]
41    pub static NSDistinctUnionOfObjectsKeyValueOperator: &'static NSKeyValueOperator;
42}
43
44extern "C" {
45    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsdistinctunionofsetskeyvalueoperator?language=objc)
46    #[cfg(feature = "NSString")]
47    pub static NSDistinctUnionOfSetsKeyValueOperator: &'static NSKeyValueOperator;
48}
49
50extern "C" {
51    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsmaximumkeyvalueoperator?language=objc)
52    #[cfg(feature = "NSString")]
53    pub static NSMaximumKeyValueOperator: &'static NSKeyValueOperator;
54}
55
56extern "C" {
57    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsminimumkeyvalueoperator?language=objc)
58    #[cfg(feature = "NSString")]
59    pub static NSMinimumKeyValueOperator: &'static NSKeyValueOperator;
60}
61
62extern "C" {
63    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nssumkeyvalueoperator?language=objc)
64    #[cfg(feature = "NSString")]
65    pub static NSSumKeyValueOperator: &'static NSKeyValueOperator;
66}
67
68extern "C" {
69    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsunionofarrayskeyvalueoperator?language=objc)
70    #[cfg(feature = "NSString")]
71    pub static NSUnionOfArraysKeyValueOperator: &'static NSKeyValueOperator;
72}
73
74extern "C" {
75    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsunionofobjectskeyvalueoperator?language=objc)
76    #[cfg(feature = "NSString")]
77    pub static NSUnionOfObjectsKeyValueOperator: &'static NSKeyValueOperator;
78}
79
80extern "C" {
81    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsunionofsetskeyvalueoperator?language=objc)
82    #[cfg(feature = "NSString")]
83    pub static NSUnionOfSetsKeyValueOperator: &'static NSKeyValueOperator;
84}
85
86mod private_NSObjectNSKeyValueCoding {
87    pub trait Sealed {}
88}
89
90/// Category "NSKeyValueCoding" on [`NSObject`].
91#[doc(alias = "NSKeyValueCoding")]
92pub unsafe trait NSObjectNSKeyValueCoding:
93    ClassType + Sized + private_NSObjectNSKeyValueCoding::Sealed
94{
95    extern_methods!(
96        #[unsafe(method(accessInstanceVariablesDirectly))]
97        #[unsafe(method_family = none)]
98        unsafe fn accessInstanceVariablesDirectly() -> bool;
99
100        #[cfg(feature = "NSString")]
101        #[unsafe(method(valueForKey:))]
102        #[unsafe(method_family = none)]
103        unsafe fn valueForKey(&self, key: &NSString) -> Option<Retained<AnyObject>>;
104
105        #[cfg(feature = "NSString")]
106        #[unsafe(method(setValue:forKey:))]
107        #[unsafe(method_family = none)]
108        unsafe fn setValue_forKey(&self, value: Option<&AnyObject>, key: &NSString);
109
110        #[cfg(all(feature = "NSError", feature = "NSString"))]
111        #[unsafe(method(validateValue:forKey:error:_))]
112        #[unsafe(method_family = none)]
113        unsafe fn validateValue_forKey_error(
114            &self,
115            io_value: &mut Option<Retained<AnyObject>>,
116            in_key: &NSString,
117        ) -> Result<(), Retained<NSError>>;
118
119        #[cfg(all(feature = "NSArray", feature = "NSString"))]
120        #[unsafe(method(mutableArrayValueForKey:))]
121        #[unsafe(method_family = none)]
122        unsafe fn mutableArrayValueForKey(&self, key: &NSString) -> Retained<NSMutableArray>;
123
124        #[cfg(all(feature = "NSOrderedSet", feature = "NSString"))]
125        #[unsafe(method(mutableOrderedSetValueForKey:))]
126        #[unsafe(method_family = none)]
127        unsafe fn mutableOrderedSetValueForKey(
128            &self,
129            key: &NSString,
130        ) -> Retained<NSMutableOrderedSet>;
131
132        #[cfg(all(feature = "NSSet", feature = "NSString"))]
133        #[unsafe(method(mutableSetValueForKey:))]
134        #[unsafe(method_family = none)]
135        unsafe fn mutableSetValueForKey(&self, key: &NSString) -> Retained<NSMutableSet>;
136
137        #[cfg(feature = "NSString")]
138        #[unsafe(method(valueForKeyPath:))]
139        #[unsafe(method_family = none)]
140        unsafe fn valueForKeyPath(&self, key_path: &NSString) -> Option<Retained<AnyObject>>;
141
142        #[cfg(feature = "NSString")]
143        #[unsafe(method(setValue:forKeyPath:))]
144        #[unsafe(method_family = none)]
145        unsafe fn setValue_forKeyPath(&self, value: Option<&AnyObject>, key_path: &NSString);
146
147        #[cfg(all(feature = "NSError", feature = "NSString"))]
148        #[unsafe(method(validateValue:forKeyPath:error:_))]
149        #[unsafe(method_family = none)]
150        unsafe fn validateValue_forKeyPath_error(
151            &self,
152            io_value: &mut Option<Retained<AnyObject>>,
153            in_key_path: &NSString,
154        ) -> Result<(), Retained<NSError>>;
155
156        #[cfg(all(feature = "NSArray", feature = "NSString"))]
157        #[unsafe(method(mutableArrayValueForKeyPath:))]
158        #[unsafe(method_family = none)]
159        unsafe fn mutableArrayValueForKeyPath(
160            &self,
161            key_path: &NSString,
162        ) -> Retained<NSMutableArray>;
163
164        #[cfg(all(feature = "NSOrderedSet", feature = "NSString"))]
165        #[unsafe(method(mutableOrderedSetValueForKeyPath:))]
166        #[unsafe(method_family = none)]
167        unsafe fn mutableOrderedSetValueForKeyPath(
168            &self,
169            key_path: &NSString,
170        ) -> Retained<NSMutableOrderedSet>;
171
172        #[cfg(all(feature = "NSSet", feature = "NSString"))]
173        #[unsafe(method(mutableSetValueForKeyPath:))]
174        #[unsafe(method_family = none)]
175        unsafe fn mutableSetValueForKeyPath(&self, key_path: &NSString) -> Retained<NSMutableSet>;
176
177        #[cfg(feature = "NSString")]
178        #[unsafe(method(valueForUndefinedKey:))]
179        #[unsafe(method_family = none)]
180        unsafe fn valueForUndefinedKey(&self, key: &NSString) -> Option<Retained<AnyObject>>;
181
182        #[cfg(feature = "NSString")]
183        #[unsafe(method(setValue:forUndefinedKey:))]
184        #[unsafe(method_family = none)]
185        unsafe fn setValue_forUndefinedKey(&self, value: Option<&AnyObject>, key: &NSString);
186
187        #[cfg(feature = "NSString")]
188        #[unsafe(method(setNilValueForKey:))]
189        #[unsafe(method_family = none)]
190        unsafe fn setNilValueForKey(&self, key: &NSString);
191
192        #[cfg(all(feature = "NSArray", feature = "NSDictionary", feature = "NSString"))]
193        #[unsafe(method(dictionaryWithValuesForKeys:))]
194        #[unsafe(method_family = none)]
195        unsafe fn dictionaryWithValuesForKeys(
196            &self,
197            keys: &NSArray<NSString>,
198        ) -> Retained<NSDictionary<NSString, AnyObject>>;
199
200        #[cfg(all(feature = "NSDictionary", feature = "NSString"))]
201        #[unsafe(method(setValuesForKeysWithDictionary:))]
202        #[unsafe(method_family = none)]
203        unsafe fn setValuesForKeysWithDictionary(
204            &self,
205            keyed_values: &NSDictionary<NSString, AnyObject>,
206        );
207    );
208}
209
210impl private_NSObjectNSKeyValueCoding::Sealed for NSObject {}
211unsafe impl NSObjectNSKeyValueCoding for NSObject {}
212
213/// NSKeyValueCoding.
214#[cfg(feature = "NSArray")]
215impl<ObjectType: Message> NSArray<ObjectType> {
216    extern_methods!(
217        #[cfg(feature = "NSString")]
218        #[unsafe(method(valueForKey:))]
219        #[unsafe(method_family = none)]
220        pub unsafe fn valueForKey(&self, key: &NSString) -> Retained<AnyObject>;
221
222        #[cfg(feature = "NSString")]
223        #[unsafe(method(setValue:forKey:))]
224        #[unsafe(method_family = none)]
225        pub unsafe fn setValue_forKey(&self, value: Option<&AnyObject>, key: &NSString);
226    );
227}
228
229/// NSKeyValueCoding.
230#[cfg(feature = "NSDictionary")]
231impl<KeyType: Message, ObjectType: Message> NSDictionary<KeyType, ObjectType> {
232    extern_methods!(
233        #[cfg(feature = "NSString")]
234        #[unsafe(method(valueForKey:))]
235        #[unsafe(method_family = none)]
236        pub unsafe fn valueForKey(&self, key: &NSString) -> Option<Retained<ObjectType>>;
237    );
238}
239
240/// NSKeyValueCoding.
241#[cfg(feature = "NSDictionary")]
242impl<KeyType: Message, ObjectType: Message> NSMutableDictionary<KeyType, ObjectType> {
243    extern_methods!(
244        #[cfg(feature = "NSString")]
245        #[unsafe(method(setValue:forKey:))]
246        #[unsafe(method_family = none)]
247        pub unsafe fn setValue_forKey(&self, value: Option<&ObjectType>, key: &NSString);
248    );
249}
250
251/// NSKeyValueCoding.
252#[cfg(feature = "NSOrderedSet")]
253impl<ObjectType: Message> NSOrderedSet<ObjectType> {
254    extern_methods!(
255        #[cfg(feature = "NSString")]
256        #[unsafe(method(valueForKey:))]
257        #[unsafe(method_family = none)]
258        pub unsafe fn valueForKey(&self, key: &NSString) -> Retained<AnyObject>;
259
260        #[cfg(feature = "NSString")]
261        #[unsafe(method(setValue:forKey:))]
262        #[unsafe(method_family = none)]
263        pub unsafe fn setValue_forKey(&self, value: Option<&AnyObject>, key: &NSString);
264    );
265}
266
267/// NSKeyValueCoding.
268#[cfg(feature = "NSSet")]
269impl<ObjectType: Message> NSSet<ObjectType> {
270    extern_methods!(
271        #[cfg(feature = "NSString")]
272        #[unsafe(method(valueForKey:))]
273        #[unsafe(method_family = none)]
274        pub unsafe fn valueForKey(&self, key: &NSString) -> Retained<AnyObject>;
275
276        #[cfg(feature = "NSString")]
277        #[unsafe(method(setValue:forKey:))]
278        #[unsafe(method_family = none)]
279        pub unsafe fn setValue_forKey(&self, value: Option<&AnyObject>, key: &NSString);
280    );
281}