use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use crate::*;
#[cfg(feature = "NSString")]
pub type NSValueTransformerName = NSString;
extern "C" {
#[cfg(feature = "NSString")]
pub static NSNegateBooleanTransformerName: &'static NSValueTransformerName;
}
extern "C" {
#[cfg(feature = "NSString")]
pub static NSIsNilTransformerName: &'static NSValueTransformerName;
}
extern "C" {
#[cfg(feature = "NSString")]
pub static NSIsNotNilTransformerName: &'static NSValueTransformerName;
}
extern "C" {
#[cfg(feature = "NSString")]
#[deprecated]
pub static NSUnarchiveFromDataTransformerName: &'static NSValueTransformerName;
}
extern "C" {
#[cfg(feature = "NSString")]
#[deprecated]
pub static NSKeyedUnarchiveFromDataTransformerName: &'static NSValueTransformerName;
}
extern "C" {
#[cfg(feature = "NSString")]
pub static NSSecureUnarchiveFromDataTransformerName: &'static NSValueTransformerName;
}
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSValueTransformer;
);
extern_conformance!(
unsafe impl NSObjectProtocol for NSValueTransformer {}
);
impl NSValueTransformer {
extern_methods!(
#[cfg(feature = "NSString")]
#[unsafe(method(setValueTransformer:forName:))]
#[unsafe(method_family = none)]
pub fn setValueTransformer_forName(
transformer: Option<&NSValueTransformer>,
name: &NSValueTransformerName,
);
#[cfg(feature = "NSString")]
#[unsafe(method(valueTransformerForName:))]
#[unsafe(method_family = none)]
pub fn valueTransformerForName(
name: &NSValueTransformerName,
) -> Option<Retained<NSValueTransformer>>;
#[cfg(all(feature = "NSArray", feature = "NSString"))]
#[unsafe(method(valueTransformerNames))]
#[unsafe(method_family = none)]
pub fn valueTransformerNames() -> Retained<NSArray<NSValueTransformerName>>;
#[unsafe(method(transformedValueClass))]
#[unsafe(method_family = none)]
pub fn transformedValueClass() -> &'static AnyClass;
#[unsafe(method(allowsReverseTransformation))]
#[unsafe(method_family = none)]
pub fn allowsReverseTransformation() -> bool;
#[unsafe(method(transformedValue:))]
#[unsafe(method_family = none)]
pub unsafe fn transformedValue(
&self,
value: Option<&AnyObject>,
) -> Option<Retained<AnyObject>>;
#[unsafe(method(reverseTransformedValue:))]
#[unsafe(method_family = none)]
pub unsafe fn reverseTransformedValue(
&self,
value: Option<&AnyObject>,
) -> Option<Retained<AnyObject>>;
);
}
impl NSValueTransformer {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub fn new() -> Retained<Self>;
);
}
impl DefaultRetained for NSValueTransformer {
#[inline]
fn default_retained() -> Retained<Self> {
Self::new()
}
}
extern_class!(
#[unsafe(super(NSValueTransformer, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSSecureUnarchiveFromDataTransformer;
);
extern_conformance!(
unsafe impl NSObjectProtocol for NSSecureUnarchiveFromDataTransformer {}
);
impl NSSecureUnarchiveFromDataTransformer {
extern_methods!(
#[cfg(feature = "NSArray")]
#[unsafe(method(allowedTopLevelClasses))]
#[unsafe(method_family = none)]
pub fn allowedTopLevelClasses() -> Retained<NSArray<AnyClass>>;
);
}
impl NSSecureUnarchiveFromDataTransformer {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub fn new() -> Retained<Self>;
);
}
impl DefaultRetained for NSSecureUnarchiveFromDataTransformer {
#[inline]
fn default_retained() -> Retained<Self> {
Self::new()
}
}