use crate::common::*;
use crate::CloudKit::*;
use crate::CoreLocation::*;
use crate::Foundation::*;
ns_enum!(
#[underlying(NSInteger)]
pub enum CKRecordSavePolicy {
CKRecordSaveIfServerRecordUnchanged = 0,
CKRecordSaveChangedKeys = 1,
CKRecordSaveAllKeys = 2,
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "CloudKit_CKModifyRecordsOperation")]
pub struct CKModifyRecordsOperation;
#[cfg(feature = "CloudKit_CKModifyRecordsOperation")]
unsafe impl ClassType for CKModifyRecordsOperation {
#[inherits(CKOperation, NSOperation, NSObject)]
type Super = CKDatabaseOperation;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "CloudKit_CKModifyRecordsOperation")]
unsafe impl NSObjectProtocol for CKModifyRecordsOperation {}
extern_methods!(
#[cfg(feature = "CloudKit_CKModifyRecordsOperation")]
unsafe impl CKModifyRecordsOperation {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[cfg(all(
feature = "CloudKit_CKRecord",
feature = "CloudKit_CKRecordID",
feature = "Foundation_NSArray"
))]
#[method_id(@__retain_semantics Init initWithRecordsToSave:recordIDsToDelete:)]
pub unsafe fn initWithRecordsToSave_recordIDsToDelete(
this: Allocated<Self>,
records: Option<&NSArray<CKRecord>>,
record_i_ds: Option<&NSArray<CKRecordID>>,
) -> Id<Self>;
#[cfg(all(feature = "CloudKit_CKRecord", feature = "Foundation_NSArray"))]
#[method_id(@__retain_semantics Other recordsToSave)]
pub unsafe fn recordsToSave(&self) -> Option<Id<NSArray<CKRecord>>>;
#[cfg(all(feature = "CloudKit_CKRecord", feature = "Foundation_NSArray"))]
#[method(setRecordsToSave:)]
pub unsafe fn setRecordsToSave(&self, records_to_save: Option<&NSArray<CKRecord>>);
#[cfg(all(feature = "CloudKit_CKRecordID", feature = "Foundation_NSArray"))]
#[method_id(@__retain_semantics Other recordIDsToDelete)]
pub unsafe fn recordIDsToDelete(&self) -> Option<Id<NSArray<CKRecordID>>>;
#[cfg(all(feature = "CloudKit_CKRecordID", feature = "Foundation_NSArray"))]
#[method(setRecordIDsToDelete:)]
pub unsafe fn setRecordIDsToDelete(
&self,
record_i_ds_to_delete: Option<&NSArray<CKRecordID>>,
);
#[method(savePolicy)]
pub unsafe fn savePolicy(&self) -> CKRecordSavePolicy;
#[method(setSavePolicy:)]
pub unsafe fn setSavePolicy(&self, save_policy: CKRecordSavePolicy);
#[cfg(feature = "Foundation_NSData")]
#[method_id(@__retain_semantics Other clientChangeTokenData)]
pub unsafe fn clientChangeTokenData(&self) -> Option<Id<NSData>>;
#[cfg(feature = "Foundation_NSData")]
#[method(setClientChangeTokenData:)]
pub unsafe fn setClientChangeTokenData(&self, client_change_token_data: Option<&NSData>);
#[method(atomic)]
pub unsafe fn atomic(&self) -> bool;
#[method(setAtomic:)]
pub unsafe fn setAtomic(&self, atomic: bool);
#[cfg(feature = "CloudKit_CKRecord")]
#[method(perRecordProgressBlock)]
pub unsafe fn perRecordProgressBlock(
&self,
) -> *mut Block<(NonNull<CKRecord>, c_double), ()>;
#[cfg(feature = "CloudKit_CKRecord")]
#[method(setPerRecordProgressBlock:)]
pub unsafe fn setPerRecordProgressBlock(
&self,
per_record_progress_block: Option<&Block<(NonNull<CKRecord>, c_double), ()>>,
);
#[cfg(all(feature = "CloudKit_CKRecord", feature = "Foundation_NSError"))]
#[deprecated]
#[method(perRecordCompletionBlock)]
pub unsafe fn perRecordCompletionBlock(
&self,
) -> *mut Block<(NonNull<CKRecord>, *mut NSError), ()>;
#[cfg(all(feature = "CloudKit_CKRecord", feature = "Foundation_NSError"))]
#[deprecated]
#[method(setPerRecordCompletionBlock:)]
pub unsafe fn setPerRecordCompletionBlock(
&self,
per_record_completion_block: Option<&Block<(NonNull<CKRecord>, *mut NSError), ()>>,
);
#[cfg(all(
feature = "CloudKit_CKRecord",
feature = "CloudKit_CKRecordID",
feature = "Foundation_NSError"
))]
#[method(perRecordSaveBlock)]
pub unsafe fn perRecordSaveBlock(
&self,
) -> *mut Block<(NonNull<CKRecordID>, *mut CKRecord, *mut NSError), ()>;
#[cfg(all(
feature = "CloudKit_CKRecord",
feature = "CloudKit_CKRecordID",
feature = "Foundation_NSError"
))]
#[method(setPerRecordSaveBlock:)]
pub unsafe fn setPerRecordSaveBlock(
&self,
per_record_save_block: Option<
&Block<(NonNull<CKRecordID>, *mut CKRecord, *mut NSError), ()>,
>,
);
#[cfg(all(feature = "CloudKit_CKRecordID", feature = "Foundation_NSError"))]
#[method(perRecordDeleteBlock)]
pub unsafe fn perRecordDeleteBlock(
&self,
) -> *mut Block<(NonNull<CKRecordID>, *mut NSError), ()>;
#[cfg(all(feature = "CloudKit_CKRecordID", feature = "Foundation_NSError"))]
#[method(setPerRecordDeleteBlock:)]
pub unsafe fn setPerRecordDeleteBlock(
&self,
per_record_delete_block: Option<&Block<(NonNull<CKRecordID>, *mut NSError), ()>>,
);
#[cfg(all(
feature = "CloudKit_CKRecord",
feature = "CloudKit_CKRecordID",
feature = "Foundation_NSArray",
feature = "Foundation_NSError"
))]
#[method(modifyRecordsCompletionBlock)]
pub unsafe fn modifyRecordsCompletionBlock(
&self,
) -> *mut Block<
(
*mut NSArray<CKRecord>,
*mut NSArray<CKRecordID>,
*mut NSError,
),
(),
>;
#[cfg(all(
feature = "CloudKit_CKRecord",
feature = "CloudKit_CKRecordID",
feature = "Foundation_NSArray",
feature = "Foundation_NSError"
))]
#[method(setModifyRecordsCompletionBlock:)]
pub unsafe fn setModifyRecordsCompletionBlock(
&self,
modify_records_completion_block: Option<
&Block<
(
*mut NSArray<CKRecord>,
*mut NSArray<CKRecordID>,
*mut NSError,
),
(),
>,
>,
);
}
);
extern_methods!(
#[cfg(feature = "CloudKit_CKModifyRecordsOperation")]
unsafe impl CKModifyRecordsOperation {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);