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    pub static NSUnarchiveFromDataTransformerName: &'static NSValueTransformerName;
36}
37
38extern "C" {
39    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nskeyedunarchivefromdatatransformername?language=objc)
40    #[cfg(feature = "NSString")]
41    pub static NSKeyedUnarchiveFromDataTransformerName: &'static NSValueTransformerName;
42}
43
44extern "C" {
45    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nssecureunarchivefromdatatransformername?language=objc)
46    #[cfg(feature = "NSString")]
47    pub static NSSecureUnarchiveFromDataTransformerName: &'static NSValueTransformerName;
48}
49
50extern_class!(
51    /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsvaluetransformer?language=objc)
52    #[unsafe(super(NSObject))]
53    #[derive(Debug, PartialEq, Eq, Hash)]
54    pub struct NSValueTransformer;
55);
56
57unsafe impl NSObjectProtocol for NSValueTransformer {}
58
59impl NSValueTransformer {
60    extern_methods!(
61        #[cfg(feature = "NSString")]
62        #[unsafe(method(setValueTransformer:forName:))]
63        #[unsafe(method_family = none)]
64        pub unsafe fn setValueTransformer_forName(
65            transformer: Option<&NSValueTransformer>,
66            name: &NSValueTransformerName,
67        );
68
69        #[cfg(feature = "NSString")]
70        #[unsafe(method(valueTransformerForName:))]
71        #[unsafe(method_family = none)]
72        pub unsafe fn valueTransformerForName(
73            name: &NSValueTransformerName,
74        ) -> Option<Retained<NSValueTransformer>>;
75
76        #[cfg(all(feature = "NSArray", feature = "NSString"))]
77        #[unsafe(method(valueTransformerNames))]
78        #[unsafe(method_family = none)]
79        pub unsafe fn valueTransformerNames() -> Retained<NSArray<NSValueTransformerName>>;
80
81        #[unsafe(method(transformedValueClass))]
82        #[unsafe(method_family = none)]
83        pub unsafe fn transformedValueClass() -> &'static AnyClass;
84
85        #[unsafe(method(allowsReverseTransformation))]
86        #[unsafe(method_family = none)]
87        pub unsafe fn allowsReverseTransformation() -> bool;
88
89        #[unsafe(method(transformedValue:))]
90        #[unsafe(method_family = none)]
91        pub unsafe fn transformedValue(
92            &self,
93            value: Option<&AnyObject>,
94        ) -> Option<Retained<AnyObject>>;
95
96        #[unsafe(method(reverseTransformedValue:))]
97        #[unsafe(method_family = none)]
98        pub unsafe fn reverseTransformedValue(
99            &self,
100            value: Option<&AnyObject>,
101        ) -> Option<Retained<AnyObject>>;
102    );
103}
104
105/// Methods declared on superclass `NSObject`.
106impl NSValueTransformer {
107    extern_methods!(
108        #[unsafe(method(init))]
109        #[unsafe(method_family = init)]
110        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
111
112        #[unsafe(method(new))]
113        #[unsafe(method_family = new)]
114        pub unsafe fn new() -> Retained<Self>;
115    );
116}
117
118extern_class!(
119    /// A value transformer which transforms values to and from
120    /// `NSData`by archiving and unarchiving using secure coding.
121    ///
122    /// See also [Apple's documentation](https://developer.apple.com/documentation/foundation/nssecureunarchivefromdatatransformer?language=objc)
123    #[unsafe(super(NSValueTransformer, NSObject))]
124    #[derive(Debug, PartialEq, Eq, Hash)]
125    pub struct NSSecureUnarchiveFromDataTransformer;
126);
127
128unsafe impl NSObjectProtocol for NSSecureUnarchiveFromDataTransformer {}
129
130impl NSSecureUnarchiveFromDataTransformer {
131    extern_methods!(
132        #[cfg(feature = "NSArray")]
133        /// The list of allowable classes which the top-level object in the archive must conform to on encoding and decoding.
134        ///
135        /// Returns the result of
136        /// `+transformedValueClass`if not
137        /// `Nil;`otherwise, currently returns
138        /// `NSArray,``NSDictionary,``NSSet,``NSString,``NSNumber,``NSDate,``NSData,``NSURL,``NSUUID,`and
139        /// `NSNull.`
140        /// Can be overridden by subclasses to provide an expanded or different set of allowed transformation classes.
141        #[unsafe(method(allowedTopLevelClasses))]
142        #[unsafe(method_family = none)]
143        pub unsafe fn allowedTopLevelClasses() -> Retained<NSArray<AnyClass>>;
144    );
145}
146
147/// Methods declared on superclass `NSObject`.
148impl NSSecureUnarchiveFromDataTransformer {
149    extern_methods!(
150        #[unsafe(method(init))]
151        #[unsafe(method_family = init)]
152        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
153
154        #[unsafe(method(new))]
155        #[unsafe(method_family = new)]
156        pub unsafe fn new() -> Retained<Self>;
157    );
158}