NSFileManagerResumeSyncBehavior

Struct NSFileManagerResumeSyncBehavior 

Source
#[repr(transparent)]
pub struct NSFileManagerResumeSyncBehavior(pub NSInteger);
Available on crate feature NSFileManager only.
Expand description

The behaviors the file manager can apply to resolve conflicts when resuming a sync.

You use this type when calling FileManager/resumeSyncForUbiquitousItem(at:with:completionHandler:) to resume synchronizing. In most situations, the NSFileManagerResumeSyncBehavior/preserveLocalChanges behavior is the best choice to avoid risk of data loss.

See also Apple’s documentation

Tuple Fields§

§0: NSInteger

Implementations§

Source§

impl NSFileManagerResumeSyncBehavior

Source

pub const PreserveLocalChanges: Self

Resumes synchronizing by uploading the local version of the file.

If the server has a newer version, the server may create a conflict copy of the file, or may automatically pick the winner of the conflict. Apps can choose to implement conflict handling themselves by passing NSFileManagerResumeSyncBehaviorAfterUploadWithFailOnConflict.

Source

pub const AfterUploadWithFailOnConflict: Self

Resumes sync by first uploading the local version of the file, failing if the provider detects a conflict.

If the upload succeeds, the sync resumes with the preserveLocalChanges behavior.

If the provider detects a conflict, the upload fails with an NSFileWriteUnknownError-enum.case, with the underlying error of <doc ://com.apple.documentation/documentation/FileProvider/NSFileProviderError/localVersionConflictingWithServer>. In this case, the app needs to call FileManager/fetchLatestRemoteVersionOfItem(at:completionHandler:), rebase local changes on top of the newly fetched version to resolve the conflict, and try again to resume sync. This scenario is only available on paused items for which the file provider supports the fail-on-conflict behavior. To check that the file provider supports the behavior, get the NSURLUbiquitousItemSupportedSyncControlsKey URL resource and verify that NSFileManagerSupportedSyncControls/failUploadOnConflict is true.

Source

pub const DropLocalChanges: Self

Resumes synchronizing by overwriting any local changes with the remote version of the file.

If a conflict occurs, the file manager stores the local changes as an alternate version. Only use this behavior if you provide a separate means of resolving and merging conflicts.

Trait Implementations§

Source§

impl Clone for NSFileManagerResumeSyncBehavior

Source§

fn clone(&self) -> NSFileManagerResumeSyncBehavior

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for NSFileManagerResumeSyncBehavior

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Encode for NSFileManagerResumeSyncBehavior

Source§

const ENCODING: Encoding = NSInteger::ENCODING

The Objective-C type-encoding for this type.
Source§

impl Hash for NSFileManagerResumeSyncBehavior

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for NSFileManagerResumeSyncBehavior

Source§

fn cmp(&self, other: &NSFileManagerResumeSyncBehavior) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for NSFileManagerResumeSyncBehavior

Source§

fn eq(&self, other: &NSFileManagerResumeSyncBehavior) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for NSFileManagerResumeSyncBehavior

Source§

fn partial_cmp( &self, other: &NSFileManagerResumeSyncBehavior, ) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl RefEncode for NSFileManagerResumeSyncBehavior

Source§

const ENCODING_REF: Encoding

The Objective-C type-encoding for a reference of this type. Read more
Source§

impl Copy for NSFileManagerResumeSyncBehavior

Source§

impl Eq for NSFileManagerResumeSyncBehavior

Source§

impl StructuralPartialEq for NSFileManagerResumeSyncBehavior

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> EncodeArgument for T
where T: Encode,

Source§

const ENCODING_ARGUMENT: Encoding = T::ENCODING

The Objective-C type-encoding for this type.
Source§

impl<T> EncodeReturn for T
where T: Encode,

Source§

const ENCODING_RETURN: Encoding = T::ENCODING

The Objective-C type-encoding for this type.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> AutoreleaseSafe for T
where T: ?Sized,