KDE PIM / Developers / API Docs / kitchensync

KSync::Syncer Class Reference

This class provides syncing of sets of data entries. More...

#include <syncer.h>

List of all members.

Public Member Functions


Detailed Description

This class provides syncing of sets of data entries.

Author:
Cornelius Schumacher, zecke
See also:
SyncEntry, Syncee, SyncUi
The Syncer class provides the top level framework for syncing. It implements the actual syncing algorithm, which operates on data objects implementing the Syncee and SyncEntry interfaces. By this mechanism the syncing algorithm is decoupled from the concrete type of data and has to be implemented only once.

To perform a syncing process you have to create objects of the concrete subclasses of Syncee, representing the type of the data to be synced. They are added to Syncer with the function addSyncee(). When all data sets to be synced are added, call the sync() functions to perform the actual syncing.

For conflict resolution, a user interface is needed. This has to be a subclass of SyncUi and is provided, when constructing a Syncer instance.


Constructor & Destructor Documentation

Syncer::Syncer SyncUi ui = 0,
SyncAlgorithm algorithm = 0
 

Create a Syncer instance.

You have to provide an instance of a conflict resolution user interface, which is used to resolve conflicts in the synced data, which cannot be resolved automatically. The UI does not necessarily have to be interactive.


Member Function Documentation

void Syncer::setSyncAlgorithm SyncAlgorithm  ) 
 

Sets the syncing algorithm which is used to perform the sync.

void Syncer::setSyncUi SyncUi  ) 
 

Sets user interface handler which is used for resolving conflicts.

void Syncer::addSyncee Syncee  ) 
 

Add a data set, which is to be synced.

void Syncer::clear  ) 
 

Removes all Syncee objects added with addSyncee from the Syncer.

void Syncer::sync  ) 
 

Sync all data sets.

After execution of this functions all data sets, which have been added to Syncer contain the same set of data.

This function might call conflict resolution functions of the SyncUi object.

void Syncer::syncAllToTarget Syncee target,
bool  writeback = false
 

Sync all data sets with a target data sets.

After execution of this function the target Syncee data set contains a combination of all data sets added to Syncer. The added data sets are not changed.

This function might call conflict resolution functions of the SyncUi object.

void Syncer::syncToTarget Syncee syncee,
Syncee target,
bool  override = false
 

Sync one specific data set to a target data set.

After execution of this function the target contains the combination of the two data sets. Only the target is changed.

This function might call conflict resolution functions of the SyncUi object.


The documentation for this class was generated from the following files: