objc2_foundation/generated/
NSValueTransformer.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
9/// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsvaluetransformername?language=objc)
10// NS_TYPED_EXTENSIBLE_ENUM
11#[cfg(feature = "NSString")]
12pub type NSValueTransformerName = NSString;
13
14extern "C" {
15    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsnegatebooleantransformername?language=objc)
16    #[cfg(feature = "NSString")]
17    pub static NSNegateBooleanTransformerName: &'static NSValueTransformerName;
18}
19
20extern "C" {
21    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsisniltransformername?language=objc)
22    #[cfg(feature = "NSString")]
23    pub static NSIsNilTransformerName: &'static NSValueTransformerName;
24}
25
26extern "C" {
27    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsisnotniltransformername?language=objc)
28    #[cfg(feature = "NSString")]
29    pub static NSIsNotNilTransformerName: &'static NSValueTransformerName;
30}
31
32extern "C" {
33    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsunarchivefromdatatransformername?language=objc)
34    #[cfg(feature = "NSString")]
35    #[deprecated]
36    pub static NSUnarchiveFromDataTransformerName: &'static NSValueTransformerName;
37}
38
39extern "C" {
40    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nskeyedunarchivefromdatatransformername?language=objc)
41    #[cfg(feature = "NSString")]
42    #[deprecated]
43    pub static NSKeyedUnarchiveFromDataTransformerName: &'static NSValueTransformerName;
44}
45
46extern "C" {
47    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nssecureunarchivefromdatatransformername?language=objc)
48    #[cfg(feature = "NSString")]
49    pub static NSSecureUnarchiveFromDataTransformerName: &'static NSValueTransformerName;
50}
51
52extern_class!(
53    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsvaluetransformer?language=objc)
54    #[unsafe(super(NSObject))]
55    #[derive(Debug, PartialEq, Eq, Hash)]
56    pub struct NSValueTransformer;
57);
58
59extern_conformance!(
60    unsafe impl NSObjectProtocol for NSValueTransformer {}
61);
62
63impl NSValueTransformer {
64    extern_methods!(
65        #[cfg(feature = "NSString")]
66        #[unsafe(method(setValueTransformer:forName:))]
67        #[unsafe(method_family = none)]
68        pub fn setValueTransformer_forName(
69            transformer: Option<&NSValueTransformer>,
70            name: &NSValueTransformerName,
71        );
72
73        #[cfg(feature = "NSString")]
74        #[unsafe(method(valueTransformerForName:))]
75        #[unsafe(method_family = none)]
76        pub fn valueTransformerForName(
77            name: &NSValueTransformerName,
78        ) -> Option<Retained<NSValueTransformer>>;
79
80        #[cfg(all(feature = "NSArray", feature = "NSString"))]
81        #[unsafe(method(valueTransformerNames))]
82        #[unsafe(method_family = none)]
83        pub fn valueTransformerNames() -> Retained<NSArray<NSValueTransformerName>>;
84
85        #[unsafe(method(transformedValueClass))]
86        #[unsafe(method_family = none)]
87        pub fn transformedValueClass() -> &'static AnyClass;
88
89        #[unsafe(method(allowsReverseTransformation))]
90        #[unsafe(method_family = none)]
91        pub fn allowsReverseTransformation() -> bool;
92
93        /// # Safety
94        ///
95        /// `value` should be of the correct type.
96        #[unsafe(method(transformedValue:))]
97        #[unsafe(method_family = none)]
98        pub unsafe fn transformedValue(
99            &self,
100            value: Option<&AnyObject>,
101        ) -> Option<Retained<AnyObject>>;
102
103        /// # Safety
104        ///
105        /// `value` should be of the correct type.
106        #[unsafe(method(reverseTransformedValue:))]
107        #[unsafe(method_family = none)]
108        pub unsafe fn reverseTransformedValue(
109            &self,
110            value: Option<&AnyObject>,
111        ) -> Option<Retained<AnyObject>>;
112    );
113}
114
115/// Methods declared on superclass `NSObject`.
116impl NSValueTransformer {
117    extern_methods!(
118        #[unsafe(method(init))]
119        #[unsafe(method_family = init)]
120        pub fn init(this: Allocated<Self>) -> Retained<Self>;
121
122        #[unsafe(method(new))]
123        #[unsafe(method_family = new)]
124        pub fn new() -> Retained<Self>;
125    );
126}
127
128impl DefaultRetained for NSValueTransformer {
129    #[inline]
130    fn default_retained() -> Retained<Self> {
131        Self::new()
132    }
133}
134
135extern_class!(
136    /// A value transformer which transforms values to and from
137    /// `NSData`by archiving and unarchiving using secure coding.
138    ///
139    /// See also [Apple's documentation](https://developer.apple.com/documentation/foundation/nssecureunarchivefromdatatransformer?language=objc)
140    #[unsafe(super(NSValueTransformer, NSObject))]
141    #[derive(Debug, PartialEq, Eq, Hash)]
142    pub struct NSSecureUnarchiveFromDataTransformer;
143);
144
145extern_conformance!(
146    unsafe impl NSObjectProtocol for NSSecureUnarchiveFromDataTransformer {}
147);
148
149impl NSSecureUnarchiveFromDataTransformer {
150    extern_methods!(
151        #[cfg(feature = "NSArray")]
152        /// The list of allowable classes which the top-level object in the archive must conform to on encoding and decoding.
153        ///
154        /// Returns the result of
155        /// `+transformedValueClass`if not
156        /// `Nil;`otherwise, currently returns
157        /// `NSArray,``NSDictionary,``NSSet,``NSString,``NSNumber,``NSDate,``NSData,``NSURL,``NSUUID,`and
158        /// `NSNull.`
159        /// Can be overridden by subclasses to provide an expanded or different set of allowed transformation classes.
160        #[unsafe(method(allowedTopLevelClasses))]
161        #[unsafe(method_family = none)]
162        pub fn allowedTopLevelClasses() -> Retained<NSArray<AnyClass>>;
163    );
164}
165
166/// Methods declared on superclass `NSObject`.
167impl NSSecureUnarchiveFromDataTransformer {
168    extern_methods!(
169        #[unsafe(method(init))]
170        #[unsafe(method_family = init)]
171        pub fn init(this: Allocated<Self>) -> Retained<Self>;
172
173        #[unsafe(method(new))]
174        #[unsafe(method_family = new)]
175        pub fn new() -> Retained<Self>;
176    );
177}
178
179impl DefaultRetained for NSSecureUnarchiveFromDataTransformer {
180    #[inline]
181    fn default_retained() -> Retained<Self> {
182        Self::new()
183    }
184}