SYNC_SAVE_ACTION Enumeration

Represents the type of action that is indicated by a change.

typedef enum
{
  SSA_CREATE,
  SSA_UPDATE_VERSION_ONLY,
  SSA_UPDATE_VERSION_AND_DATA,
  SSA_UPDATE_VERSION_AND_MERGE_DATA,
  SSA_DELETE_AND_STORE_TOMBSTONE,
  SSA_DELETE_AND_REMOVE_TOMBSTONE  
}  SYNC_SAVE_ACTION;

Members

  • SSA_CREATE
    The item is new and is created in the destination item store. 
  • SSA_UPDATE_VERSION_ONLY
    Item data is not changed in the destination item store. The version is overwritten in the destination metadata. This action also occurs when the item from the destination provider is selected as the winner of a conflict.
  • SSA_UPDATE_VERSION_AND_DATA
    Item data is applied to the destination item store. Existing data is overwritten. The version that is provided overwrites the existing version in the destination metadata. This action corresponds to an item creation, item update, or change unit update in the source replica. This action also occurs when the item from the source provider is selected as the winner of a conflict.
  • SSA_UPDATE_VERSION_AND_MERGE_DATA
    Item data applied to the destination item store. Existing item data is merged with the updated item data by using some provider-specific method. The version overwrites the existing version in the destination metadata. This action occurs when the conflict resolution action is SRA_MERGE.
  • SSA_DELETE_AND_STORE_TOMBSTONE
    The item is deleted from the destination item store. A tombstone is saved in the destination metadata. This action corresponds to deleting an item from the source replica.
  • SSA_DELETE_AND_REMOVE_TOMBSTONE
    The item is deleted from the destination item store. A tombstone is not retained in the destination metadata. If a tombstone exists for the item in the destination metadata, it must be removed. This action is invoked during forgotten knowledge recovery and corresponds to item deletes where the source replica has cleaned up the tombstone.

Remarks

When the provider is not using a transaction for the whole change batch, the provider must retrieve updated knowledge from the ISaveChangeContext object and save this knowledge at the same time it applies the change.

Requirements

Header: Synchronization.h

See Also

Reference

ISaveChangeWithChangeUnitsContext Interface
ISynchronousNotifyingChangeApplierTarget Interface
IAsynchronousNotifyingChangeApplierTarget Interface
IFeedBuilder Interface

Concepts

Sync Framework Core Components