COLLISION_CONFLICT_RESOLUTION_POLICY Enumeration

Represents the options for the collision conflict resolution policy to use for the synchronization session.

Syntax

typedef enum
{
  CCRP_NONE,
  CCRP_DESTINATION_PROVIDER_WINS,  
  CCRP_SOURCE_PROVIDER_WINS,
  CCRP_MERGE,
  CCRP_RENAME_SOURCE,              
  CCRP_RENAME_DESTINATION,
  CCRP_LAST = CCRP_RENAME_DESTINATION
} COLLISION_CONFLICT_RESOLUTION_POLICY;

Members

Term

Definition

CCRP_NONE

The change applier notifies the synchronization application of each collision conflict as it occurs, by using the ISyncConstraintCallback::OnConstraintConflict event. The application examines the conflicting items and specifies the conflict resolution action by calling IConstraintConflict::SetConstraintResolveActionForChange or IConstraintConflict::GetConstraintResolveActionForChangeUnit.

CCRP_DESTINATION_PROVIDER_WINS

The change made on the destination replica always wins. Sync Framework specifies a conflict resolution action of SCRA_ACCEPT_DESTINATION_PROVIDER.

CCRP_SOURCE_PROVIDER_WINS

The change made on the source replica always wins. Sync Framework specifies a conflict resolution action of SCRA_ACCEPT_SOURCE_PROVIDER.

CCRP_MERGE

The data from the source item is combined with the destination item. Sync Framework specifies a conflict resolution action of SCRA_MERGE.

CCRP_RENAME_SOURCE

The change sent from the source provider is renamed so that it no longer collides with the conflicting item on the destination replica, and the source change is applied to the destination replica. Sync Framework specifies a conflict resolution action of SCRA_RENAME_SOURCE.

CCRP_RENAME_DESTINATION

The conflicting item on the destination replica is renamed so that it no longer collides with the change sent from the source provider, and the source change is applied to the destination replica. Sync Framework specifies a conflict resolution action of SCRA_RENAME_DESTINATION.

CCRP_LAST

A placeholder for the last element in the enumeration. Use this value only for validating data.

Remarks

The members of COLLISION_CONFLICT_RESOLUTION_POLICY are used by a synchronization application to specify the policy that the change applier uses to resolve collision constraint conflicts that occur during synchronization. A collision conflict occurs when an item cannot be saved because it conflicts with another item in the destination store, such as when the source provider sends a file that has the same name and location as a file that already exists in the destination replica.

For more information on constraint conflicts, see Detecting and Resolving Constraint Conflicts.

Requirements

Header: Synchronization.h

See Also

Concepts

Sync Framework Core Components