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