use crate::common::*;
use crate::CloudKit::*;
use crate::CoreLocation::*;
use crate::Foundation::*;
ns_enum!(
#[underlying(NSUInteger)]
pub enum CKReferenceAction {
CKReferenceActionNone = 0,
CKReferenceActionDeleteSelf = 1,
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "CloudKit_CKReference")]
pub struct CKReference;
#[cfg(feature = "CloudKit_CKReference")]
unsafe impl ClassType for CKReference {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "CloudKit_CKReference")]
unsafe impl Send for CKReference {}
#[cfg(feature = "CloudKit_CKReference")]
unsafe impl Sync for CKReference {}
#[cfg(feature = "CloudKit_CKReference")]
unsafe impl NSCoding for CKReference {}
#[cfg(feature = "CloudKit_CKReference")]
unsafe impl NSCopying for CKReference {}
#[cfg(feature = "CloudKit_CKReference")]
unsafe impl NSObjectProtocol for CKReference {}
#[cfg(feature = "CloudKit_CKReference")]
unsafe impl NSSecureCoding for CKReference {}
extern_methods!(
#[cfg(feature = "CloudKit_CKReference")]
unsafe impl CKReference {
#[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>;
#[cfg(feature = "CloudKit_CKRecordID")]
#[method_id(@__retain_semantics Init initWithRecordID:action:)]
pub unsafe fn initWithRecordID_action(
this: Allocated<Self>,
record_id: &CKRecordID,
action: CKReferenceAction,
) -> Id<Self>;
#[cfg(feature = "CloudKit_CKRecord")]
#[method_id(@__retain_semantics Init initWithRecord:action:)]
pub unsafe fn initWithRecord_action(
this: Allocated<Self>,
record: &CKRecord,
action: CKReferenceAction,
) -> Id<Self>;
#[method(referenceAction)]
pub unsafe fn referenceAction(&self) -> CKReferenceAction;
#[cfg(feature = "CloudKit_CKRecordID")]
#[method_id(@__retain_semantics Other recordID)]
pub unsafe fn recordID(&self) -> Id<CKRecordID>;
}
);