/// <summary> /// Asynchronously commits any modifications in <see cref="AN_SnapshotMetadataChange"/> /// made to the <see cref="AN_Snapshot"/> and loads a <see cref="AN_SnapshotMetadata"/>. /// The callback returned by this method is complete once the changes are synced locally /// and the background sync request for this data has been requested. /// /// This method fails a task with an exception /// when called with a snapshot that was not opened or has already been committed/discarded. /// /// Note that the total size of the contents of snapshot /// may not exceed the size provided <see cref="GetMaxDataSize"/> /// </summary> /// <param name="snapshot">The snapshot to commit the data for.</param> /// <param name="metadataChange"> /// The set of changes to apply to the metadata for the snapshot. /// Use <see cref="AN_SnapshotMetadataChange.EMPTY_CHANGE"/> to preserve the existing metadata. /// </param> /// <param name="callback">The operation callback.</param> public void CommitAndClose(AN_Snapshot snapshot, AN_SnapshotMetadataChange metadataChange, Action <AN_SnapshotMetadataResult> callback) { AN_GMS_Lib.Snapshots.CommitAndClose(this, snapshot, metadataChange, callback); }
/// <summary> /// Starts a task which asynchronously resolves a conflict using the data from the provided Snapshot. /// /// This will replace the data on the server with the specified Snapshot. /// Note that it is possible for this operation to result in a conflict itself, in which case resolution should be repeated. /// </summary> /// <param name="conflictId">he ID of the conflict to resolve. Must come from <see cref="AN_SnapshotConflict"/></param> /// <param name="snapshot">The snapshot to use to resolve the conflict.</param> /// <param name="callback">The task callback.</param> public void ResolveConflict(string conflictId, AN_Snapshot snapshot, Action <AN_LinkedObjectResult <AN_DataOrConflictResult> > callback) { AN_GMS_Lib.Snapshots.ResolveConflict(this, conflictId, snapshot, callback); }