use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSPropertyDescription;
);
extern_conformance!(
unsafe impl NSCoding for NSPropertyDescription {}
);
extern_conformance!(
unsafe impl NSCopying for NSPropertyDescription {}
);
unsafe impl CopyingHelper for NSPropertyDescription {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for NSPropertyDescription {}
);
impl NSPropertyDescription {
extern_methods!(
#[cfg(feature = "NSEntityDescription")]
#[unsafe(method(entity))]
#[unsafe(method_family = none)]
pub unsafe fn entity(&self) -> Retained<NSEntityDescription>;
#[unsafe(method(name))]
#[unsafe(method_family = none)]
pub unsafe fn name(&self) -> Retained<NSString>;
#[unsafe(method(setName:))]
#[unsafe(method_family = none)]
pub unsafe fn setName(&self, name: &NSString);
#[unsafe(method(isOptional))]
#[unsafe(method_family = none)]
pub unsafe fn isOptional(&self) -> bool;
#[unsafe(method(setOptional:))]
#[unsafe(method_family = none)]
pub unsafe fn setOptional(&self, optional: bool);
#[unsafe(method(isTransient))]
#[unsafe(method_family = none)]
pub unsafe fn isTransient(&self) -> bool;
#[unsafe(method(setTransient:))]
#[unsafe(method_family = none)]
pub unsafe fn setTransient(&self, transient: bool);
#[unsafe(method(validationPredicates))]
#[unsafe(method_family = none)]
pub unsafe fn validationPredicates(&self) -> Retained<NSArray<NSPredicate>>;
#[unsafe(method(validationWarnings))]
#[unsafe(method_family = none)]
pub unsafe fn validationWarnings(&self) -> Retained<NSArray>;
#[unsafe(method(setValidationPredicates:withValidationWarnings:))]
#[unsafe(method_family = none)]
pub unsafe fn setValidationPredicates_withValidationWarnings(
&self,
validation_predicates: Option<&NSArray<NSPredicate>>,
validation_warnings: Option<&NSArray<NSString>>,
);
#[unsafe(method(userInfo))]
#[unsafe(method_family = none)]
pub unsafe fn userInfo(&self) -> Option<Retained<NSDictionary>>;
#[unsafe(method(setUserInfo:))]
#[unsafe(method_family = none)]
pub unsafe fn setUserInfo(&self, user_info: Option<&NSDictionary>);
#[deprecated = "Use NSEntityDescription.indexes instead"]
#[unsafe(method(isIndexed))]
#[unsafe(method_family = none)]
pub unsafe fn isIndexed(&self) -> bool;
#[deprecated = "Use NSEntityDescription.indexes instead"]
#[unsafe(method(setIndexed:))]
#[unsafe(method_family = none)]
pub unsafe fn setIndexed(&self, indexed: bool);
#[unsafe(method(versionHash))]
#[unsafe(method_family = none)]
pub unsafe fn versionHash(&self) -> Retained<NSData>;
#[unsafe(method(versionHashModifier))]
#[unsafe(method_family = none)]
pub unsafe fn versionHashModifier(&self) -> Option<Retained<NSString>>;
#[unsafe(method(setVersionHashModifier:))]
#[unsafe(method_family = none)]
pub unsafe fn setVersionHashModifier(&self, version_hash_modifier: Option<&NSString>);
#[unsafe(method(isIndexedBySpotlight))]
#[unsafe(method_family = none)]
pub unsafe fn isIndexedBySpotlight(&self) -> bool;
#[unsafe(method(setIndexedBySpotlight:))]
#[unsafe(method_family = none)]
pub unsafe fn setIndexedBySpotlight(&self, indexed_by_spotlight: bool);
#[deprecated = "Spotlight integration is deprecated. Use CoreSpotlight integration instead."]
#[unsafe(method(isStoredInExternalRecord))]
#[unsafe(method_family = none)]
pub unsafe fn isStoredInExternalRecord(&self) -> bool;
#[deprecated = "Spotlight integration is deprecated. Use CoreSpotlight integration instead."]
#[unsafe(method(setStoredInExternalRecord:))]
#[unsafe(method_family = none)]
pub unsafe fn setStoredInExternalRecord(&self, stored_in_external_record: bool);
#[unsafe(method(renamingIdentifier))]
#[unsafe(method_family = none)]
pub unsafe fn renamingIdentifier(&self) -> Option<Retained<NSString>>;
#[unsafe(method(setRenamingIdentifier:))]
#[unsafe(method_family = none)]
pub unsafe fn setRenamingIdentifier(&self, renaming_identifier: Option<&NSString>);
);
}
impl NSPropertyDescription {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}