use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSAtomicStoreCacheNode;
unsafe impl ClassType for NSAtomicStoreCacheNode {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSObjectProtocol for NSAtomicStoreCacheNode {}
extern_methods!(
unsafe impl NSAtomicStoreCacheNode {
#[cfg(feature = "NSManagedObjectID")]
#[method_id(@__retain_semantics Init initWithObjectID:)]
pub unsafe fn initWithObjectID(this: Allocated<Self>, moid: &NSManagedObjectID)
-> Id<Self>;
#[cfg(feature = "NSManagedObjectID")]
#[method_id(@__retain_semantics Other objectID)]
pub unsafe fn objectID(&self) -> Id<NSManagedObjectID>;
#[method_id(@__retain_semantics Other propertyCache)]
pub unsafe fn propertyCache(&self) -> Option<Id<NSMutableDictionary<NSString, AnyObject>>>;
#[method(setPropertyCache:)]
pub unsafe fn setPropertyCache(
&self,
property_cache: Option<&NSMutableDictionary<NSString, AnyObject>>,
);
#[method_id(@__retain_semantics Other valueForKey:)]
pub unsafe fn valueForKey(&self, key: &NSString) -> Option<Id<AnyObject>>;
#[method(setValue:forKey:)]
pub unsafe fn setValue_forKey(&self, value: Option<&AnyObject>, key: &NSString);
}
);
extern_methods!(
unsafe impl NSAtomicStoreCacheNode {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);